这篇日记遇到的问题:
首先,本文针对的问题是当添加一个tableView在控制器里,通过设置frame为控制器view的bounds时,会发现虽然起点是自动从导航栏往下偏移64px,但是tableView的高度仍为整个屏幕的高度。那么问题来了,你会发现tableView下面有一截不会显示完全。
造成这种现象的原因在于:
当如果某个UIViewController的self.view的第一个子视图是UIScrollView类型的话, 这个UIViewController 被push 到UINavigationController中 或者 initWithRootController 成为UINavigationController 控制的 Controller时,这个UIViewController 的 view 的子视图UIScrollView中的所有子视图, 都将会下移64px (状态栏20px + 导航栏44px)
解决方法:
在该控制器里添加如下一行代码即可
self.extendedLayoutIncludesOpaqueBars = YES;