Chesterlee's Zen

Follow your heart and intuition

edgesForExtendedLayout、automaticallyAdjustsScrollViewInsets和extendedLayoutIncludesOpaqueBars

这几个属性值得写清楚,因为他们有组合起来使用的状况,有时候情况会变得较为复杂。

edgesForExtendedLayout:UIRectEdgeTop 延伸是会影响childviewcontroller的向上延伸的特点。(正确地说,是UINavigationController 作用所有的sub ViewController 中的向上延伸的特性。)如果edgesForExtendedLayout包含了UIRectEdgeTop,那么childVC的view会占据整个屏幕,反之,它会置于Navigationbar的offsetY下面。

automaticallyAdjustsScrollViewInsets:它的涵义是:如果UINavigationController或UIToolbarViewController的子View是Scrollview及其子类,在edgesForExtendedLayout含有top的状况下,会修改ScrollView的ContentInsect,来满足Scrollview的内容向上滑动时,statubar和navigation bar浮在其内容上。当然,如果edgesForExtendedLayout如果不含有top,那么就关闭了浮在navigation bar和statubar的特性,automaticallyAdjustsScrollViewInsets的作用也就失去意义了- –>此时NavigationController不会因为这个值是YES来设置scrollview的contentInsects。PS:(对挂接到一个view的tableview或scrollview是无效的。注意这里如果使用了childviewcontroller就可以验证这一点了。)

extendedLayoutIncludesOpaqueBars,这个属性指定了当Bar使用了不透明图片时,视图是否延伸至Bar所在区域,默认值时NO。

Comments