iOS 导航色差问题解决方案

1.产生原因

当我们在我们在Storyboard或者Nib上对NavigationBar进行上色时,运行出来的效果与设计图出现色差,后来才发现是iOS7及以上对导航栏(工具栏亦同)的高斯模糊处理,也就是可以把导航栏后面的视图或者对导航栏的背景(或背景图)显示出来,如果单纯的设置背景颜色也是有高斯模糊处理的效果,对纯色高斯模糊处理过后相当于纯色的70%(猜测)透明化处理,但是反正就是有色差啦。

2.解决方案

    a.取消模糊效果

   self.navigationController.navigationBar.translucent = NO;//    Bar的模糊效果,默认为YES

    b.设置背景图片

   [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"导航背景"] forBarMetrics:UIBarMetricsDefault];

3.注意事项

  两种解决方案都会引起做坐标系的改变。 

posted @ 2016-03-15 13:27  RSWen  阅读(1412)  评论(0编辑  收藏  举报