在设置导航栏颜色的时候遇到了问题 . 由于导航栏自带高斯模糊处理 , 所以在用 [UINavigationBar appearance].barTintColor 设置导航栏颜色的时候会默认把颜色透明度变小一点,具体值应该是70%左右.
下面提供三种解决方法:
A: 不设置导航栏的颜色,而是直接放一张该颜色的不透明的图片,将其拉伸铺满导航栏 [[UINavigationBar appearance] setBackgroundImage:[UIImage stretchImage:[UIImage imageNamed:@"XXX"]] forBarMetrics:UIBarMetricsDefault];
B: 在设置[UINavigationBar appearance].barTintColor 的时候传入的color的RGB值转换一下,转换公式如下所示(色值大于40的时候使用该公式,小于40影响不大):
(n – 40) / (1 – 40 / 255) = result n=实际色值 result=最后得出的色值结果
C: 自定义导航栏