码迷,mamicode.com
首页 > 移动开发 > 详细

self.edgesForExtendedLayout=UIRectEdgeNone--将原点移动到navigationBar下面

时间:2014-08-02 12:34:43      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:使用   os   io   for   问题   ar   代码   div   

edgesForExtendedLayout是一个类型为UIExtendedEdge的属性,指定边缘要延伸的方向。

因为iOS7鼓励全屏布局,它的默认值很自然地是UIRectEdgeAll,四周边缘均延伸,就是说,如果即使视图中上有navigationBar,下有tabBar,那么视图仍会延伸覆盖到四周的区域。

具体代码是这句:

self.edgesForExtendedLayout = UIRectEdgeNone;

来解决UINavigationBar透明的问题。设置了UIRectEdgeNone之后,你嵌在UIViewController里面的UITableView和UIScrollView就不会穿过UINavigationBar了,同时UIView的控件也回复到了iOS6时代。

不过这个对于Status Bar在iOS7上面的变化是无效的,正确的说应该是部分无效。在存在Navigation部分或者Tabbar部分的时候,上面的代码可以使得Status Bar也不载透明(有待验证,毕竟UIViewController的可用空间被控制了),但是在没有这两个部分的时候,Status Bar依旧是会记入UIView范围的。

问题:使用了Xib常见一个viewController后不加这句话,原点位置也移动到navigationBar下面。

注:本人参考了一下别人的总结,加了一些个人理解。大家可以看一下。

self.edgesForExtendedLayout=UIRectEdgeNone--将原点移动到navigationBar下面,布布扣,bubuko.com

self.edgesForExtendedLayout=UIRectEdgeNone--将原点移动到navigationBar下面

标签:使用   os   io   for   问题   ar   代码   div   

原文地址:http://www.cnblogs.com/haoyulovexuexue/p/3886758.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!