IOS7新特性 edgesForExtendedLayout


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范圍的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM