iOS7新特性 edgesForExtendedLayout

edgesForExtendedLayout是一個類型為UIExtendedEdge的屬性,指定邊緣要延伸的方向。

因為iOS7鼓勵全屏布局,它的默認值很自然地是UIRectEdgeAll,四周邊緣均延伸,就是說,如果即使視圖中上有navigationBar,下有tabBar,那么視圖仍會延伸覆蓋到四周的區(qū)域。

self.edgesForExtendedLayout = UIRectEdgeNone;

來解決UINavigationBar透明的問題。

設置了UIRectEdgeNone之后,你嵌在UIViewController里面的UITableView和UIScrollView就不會穿過UINavigationBar了,同時UIView的控件也回復到了iOS6時代。不過這個對于StatusBar在iOS7上面的變化是無效的,正確的說應該是部分無效。在存在Navigation部分或者Tabbar部分的時候,上面的代碼可以使得Status Bar也不載透明(有待驗證,畢竟UIViewController的可用空間被控制了),但是在沒有這兩個部分的時候,StatusBar依舊是會記入UIView范圍的。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容