在 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子类的布局产生影响!
网友评论