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
iOS Adjust Scroll View Insets 补坑之路_第1张图片
问题现象

问题原因

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

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


    iOS Adjust Scroll View Insets 补坑之路_第2张图片

解决方案:

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


    iOS Adjust Scroll View Insets 补坑之路_第3张图片
    调整 Top Constraint

你可能感兴趣的:(iOS Adjust Scroll View Insets 补坑之路)