1. NavigationBar、TabBar和edgesForExtendedLayout属性
在iOS7中,有个不成文的布局规则,当导航条(navigation bar)遇到了状态条(status bar),系统会自动连接成一个高度为64(状态条的20+导航条的44)的半透明结合体顶部Bar。而如果导航条没有挨到状态条(我只能说这种状况很少见),则高度还按自己单独的44计算。
默认情况下,用UINavigationController包装过的controller的view会自动延伸到屏幕顶端,在如上所说的64高度连接体顶部Bar出现的情况下,content view的上部64高度部分会被半透明地遮盖住。
默认情况下,使用UITabBarController情况类似,底部的44部分会被半透明形式遮盖住。
而这正是edgesForExtendedLayout属性发挥作用的地方,可以通过对content view controller对象的此属性设置UIRectEdgeNone的值,保证content view的任何部分都不被导航条或者TabBar遮盖。ToolBar应该也是类似的。