iOS Adjust Scroll View Insets 补坑之路

简单地描述一下我遇到的问题

  1. A 界面有个 TableView,置于 NavigationBar 正下方
  2. 点击 A 上的某个按钮,present B 界面
  3. B 界面出来时,隐藏 StatusBar
  4. 点击 B 界面上的某个按钮,dismiss B 同时 StatusBar 再次显示出来
  5. 问题出现:A 界面上的 TableView 向上移动了20px
问题现象
问题现象

问题原因

定位问题的过程太曲折(其实是我想不起来了),所以直接说问题的原因,有三个因素导致了该问题的出现:

  1. 隐藏过 StatusBar
  2. 出问题的 ViewController 最顶级的 View 是 TabBar
  3. 最最重要的问题:出问题的 ViewController 的属性 [Adjust Scroll View Insets] 设置为 false


解决方案:

  1. 将ViewController 的属性 [Adjust Scroll View Insets] 设置为 true
  2. TableView 的 Top Constraint 由 Top Layout
    修改为 Superview


    调整 Top Constraint
    调整 Top Constraint
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容