IOS7之后的导航栏遮盖问题
2015-04-25 23:42
211 查看
ios7之前的版本中UIViewController中的view在显示后会自动调整为去掉导航栏的高度的,控件会自动在导航栏以下摆放。
在iOS7中UIViewController的wantsFullScreenLayout属性被舍弃了,所有的UIViewController创建后默认就是full Screen的,因此如果带导航栏的应用界面中的部分控件会被导航栏覆盖掉。
解决方案:可以使用ios7种UIViewController新增的属性extendLayoutIncludesOpaqueBars和edgesForExtendedLayout来解决。
其中这个属性指定了当bar使用不透明图片时,试图是否延伸至bar所在区域,默认值为NO。而edgesForExtendedLayout
其中这个属性指定了当Bar使用了不透明图片时,视图是否延伸至Bar所在区域,默认值时NO。而edgesForExtendedLayout则是表示视图是否覆盖到四周的区域,默认是UIRectEdgeAll,即上下左右四个方向都会覆盖,那么为让顶部不进行延伸到导航栏覆盖的区域,我们可以把顶部区域延伸去掉。
实现代码如下:
self.extendedLayoutIncludesOpaqueBars = NO;
self.edgesForExtendedLayout = UIRectEdgeBottom | UIRectEdgeLeft | UIRectEdgeRight;
在iOS7中UIViewController的wantsFullScreenLayout属性被舍弃了,所有的UIViewController创建后默认就是full Screen的,因此如果带导航栏的应用界面中的部分控件会被导航栏覆盖掉。
解决方案:可以使用ios7种UIViewController新增的属性extendLayoutIncludesOpaqueBars和edgesForExtendedLayout来解决。
其中这个属性指定了当bar使用不透明图片时,试图是否延伸至bar所在区域,默认值为NO。而edgesForExtendedLayout
其中这个属性指定了当Bar使用了不透明图片时,视图是否延伸至Bar所在区域,默认值时NO。而edgesForExtendedLayout则是表示视图是否覆盖到四周的区域,默认是UIRectEdgeAll,即上下左右四个方向都会覆盖,那么为让顶部不进行延伸到导航栏覆盖的区域,我们可以把顶部区域延伸去掉。
实现代码如下:
self.extendedLayoutIncludesOpaqueBars = NO;
self.edgesForExtendedLayout = UIRectEdgeBottom | UIRectEdgeLeft | UIRectEdgeRight;
相关文章推荐
- iOS7之后的导航栏遮盖问题
- 关于IOS7上导航栏遮盖状态栏的问题,以及解决方案
- iOS7导航栏遮盖问题的解决
- 转:iOS7导航栏遮盖问题的解决
- ios7 以上会出现导航栏遮盖的问题 swift语言处理
- ios7之后导航栏的问题1
- iOS7之后视图被导航栏遮挡问题
- iOS7之后UIBarButton在导航栏上的过大边距问题解决方案
- ios7之后导航栏的问题2
- iOS7导航栏遮盖问题的解决
- 在IOS7下的导航栏和状态栏的问题总结
- IOS开发之Bug--iOS7View被导航栏遮挡问题的解决
- iphone升级ios7之后出现蓝框框一直跳的问题
- 关于ios7 以上版本 view被导航栏遮挡的问题 解决方案
- iOS应用程序开发——解决iOS7之前版本与之后版本下app启动图片跳动问题
- ios7 导航栏覆盖view问题
- ios7 view被导航栏遮挡问题的解决
- 解决新手引导图片被导航栏遮盖住得问题
- ios7以上,导航栏的按钮会出现向中间偏移问题的解决方法
- 导航栏的下拉菜单被下边栏目所遮盖问题