iOS navigation设置问题一:背景色有色差,titleView宽度、left/right customView宽度不正确

1.看起来颜色浅

原因:系统默认会增加一层半透明效果。
解决方法:navigationBar.translucent = NO即可

进阶:若仍想保有半透明效果则需要对色值进行修改
参考1:https://blog.csdn.net/ruglcc/article/details/52151367
参考2:https://github.com/allenhsu/CRNavigationController
参考3: https://stackoverflow.com/questions/18897485/achieving-bright-vivid-colors-for-an-ios-7-translucent-uinavigationbar

2.设置titleView的背景,颜色有偏差

原因:未知。在storyboard中拖一个自定义的view,设置颜色后,实际显示颜色有色差。
解决方法:在viewDidLoad中重新设置一次titleView的backgroundColor即可。

3.设置titleView的宽度,显示不正确

原因:使用storyboard时,titleView无法用autolayout进行约束
解决方法:自定义view,重写- (CGSize)intrinsicContentSize返回对应的宽高。
注:具体参考intrinsicContentSize的使用

4.left/right customView宽度显示不正确

原因:同上
解决方法:同上

注意:这些有的是新的SDK引起的在版本低的系统上可能不会出现。请读者自行分辨。

你可能感兴趣的:(iOS navigation设置问题一:背景色有色差,titleView宽度、left/right customView宽度不正确)