iOS7给UIViewController增加了一个属性edgesForExtendedLayout,默认是UIRectEdgeAll,即全屏布局。而我们通常为了方便,将该属性设置为UIRectEdgeAll,即左右上下都会根据父控制器来相应改变自己。

所以在该属性设置为UIRectEdgeAll时,子控制器A如果直接add在UITabbarcontroller或其子控制器的底部,那A的底部约束会自动往上移49,即UITabBar的高度,无论A的hidesBottomBarWhenPushed是啥,这可能就会使A显示不是自己想要的。

UIViewController的属性automaticallyAdjustsScrollViewInsets默认为YES,若子viewcontroller里面有UIScrollView的子视图(包括UITableView等子类),应将该属性设置为NO,否则UIViewController会显示不是自己想要的。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐