1.适配iOS7下的导航栏的遮挡问题
在iOS9的情况下适配iOS7时导航栏会视图,这是因为从iOS8之后导航栏默认是半透明的,而在iOS7下导航栏的坐标是从电池条下方开始为原点,但是在iOS7之后,如果存在导航栏,则以导航栏的下方为坐标起点,想要在iOS7下视图不被遮挡,可以进行以下的设置:
<span style="font-size:18px;">self.navigationController.navigationBar.translucent = NO;</span>
//当bar使用不透明图片时,试图是否延伸至bar所在区域,默认值为NO
<span style="font-size:18px;">self.extendedLayoutIncludesOpaqueBars = NO;</span>
//视图是否覆盖到四周的区域
<span style="font-size:18px;">self.extendedLayoutIncludesOpaqueBars = NO;</span>
2.解决设置导航栏的颜色跟实际的色值有差别的问题
有时候在设置导航栏的颜色时,会跟自己想要的效果有差别,如下图
要解决这以问题,可通过设置
<span style="font-size:18px;">navigationController.navigationBar.translucent = NO;</span>
3.去掉导航栏下的横线
有的界面需要把导航栏下的横线去掉不显示,通过查阅相关资料,博主找到了解决方法,在导航栏上添加一张图片即可。
<span style="font-size:18px;">[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];</span>