iOS LayoutSubviews 对UIscrollVew子类的影响

    在 iOS系统7.0后,苹果加入了一个属性edgesForExtendedLayout,似乎对应了他们要推广的layout.这个是属性默认值的是UIRectEdgeAll = UIRectEdgeTop|UIRectEdgeLeft|UIRectEdgeBottom|UIRectEdgeRight.即平铺整个屏幕的意思.对于UIscrollVew 的子类来说,就是出现被导航器遮盖的现象.  self.veiw.bounds的大小就是整个屏幕大的大小.

 系统在调用完 - (void)viewDidLoad;方法后会调用如下两个方法:

1, - (void)viewDidLayoutSubviewsNS_AVAILABLE_IOS(5_0);

2,- (void)viewWillLayoutSubviewsNS_AVAILABLE_IOS(5_0);

将要布局和已经布局的意思,这个时间self.view.bounds的大小就会在这个地方发生变化.

如图所示:

所以说加上UIRectEdgeNo会改变的是self.view.bounds的大小.也就会对UIscrollVew子类的布局产生影响!

推荐阅读更多精彩内容