解决iOS开发push出来的控制器内tableView Frame不正确问题

这篇日记遇到的问题:
首先,本文针对的问题是当添加一个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;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 清水无香LY阅读 361评论 9 12
  • 【同读一本书.张磊沙】2017-2-8-100 —《活在当下》 许多人在大脑的折磨下度过一生,任由它攻击、惩罚,并...
    张磊沙阅读 469评论 0 0
  • 盘点我眼中的“老干部”歌手(艺人) 发现自己喜欢的异性的类型,那应该是开心的事吧?对于我来说,就像是开始,我知...
    渔民蚊子阅读 344评论 3 3
  • 100%纯棉面料 纯棉面料的衬衫穿着舒适,柔软,吸汗,极易皱,易变形,易染色或者变色,一件高品质的衬衫至少应该是...
    职业装阅读 2,061评论 0 4