简单地描述一下我遇到的问题
- A 界面有个 TableView,置于 NavigationBar 正下方
- 点击 A 上的某个按钮,present B 界面
- B 界面出来时,隐藏 StatusBar
- 点击 B 界面上的某个按钮,dismiss B 同时 StatusBar 再次显示出来
- 问题出现:A 界面上的 TableView 向上移动了20px
问题原因
定位问题的过程太曲折(其实是我想不起来了),所以直接说问题的原因,有三个因素导致了该问题的出现:
- 隐藏过 StatusBar
- 出问题的 ViewController 最顶级的 View 是 TabBar
-
最最重要的问题:出问题的 ViewController 的属性 [Adjust Scroll View Insets] 设置为 false
解决方案:
- 将ViewController 的属性 [Adjust Scroll View Insets] 设置为 true
-
TableView 的 Top Constraint 由 Top Layout
修改为 Superview