首页 > 代码库 > ios7中的edgesForExtendedLayout
ios7中的edgesForExtendedLayout
edgesForExtendedLayout是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向。
因为iOS7鼓励全屏布局,所以它的默认值是UIRectEdgeAll——四周边缘都延伸,就是说,即使视图中上有navigationBar,下有tabBar,那么视图仍然会延伸覆盖到四周的区域。
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) self.edgesForExtendedLayout = UIRectEdgeNone;
如上代码所示,设置了UIRectEdgeNone之后,镶嵌在UIViewController里面的UITableView和UIScrollView就不会穿过UINavigationBar,同时UIView也恢复到了iOS6时代。
不过,这个对于Status Bar在iOS7上的变化是无效的,正确的说应该是部分无效。在存在Navigation部分或者Tabbar部分的时候,上面的代码可以使得Status Bar也不再透明,但是在没有这两个部分的时候,Status Bar依旧是会计入UIView范围的。
ios7中的edgesForExtendedLayout
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。