NavigationBar高度在返回纵向方向时更改

时间:2016-02-11 03:04:21

标签: swift uinavigationbar ios9

我的结构如下:

  

ContainerView --embed segue - > NavigationController - > UITableViewController A --push segue - > UITableViewController B

这种安排工作正常,但当我将方向改为风景时,点击 A 中的一行,这会将我带到 B ,并将方向更改回纵向,我的NavigationBar高度增加如下:

1)人像模式,一切都很好:

enter image description here

1)方向改为横向模式,一切都很好:

enter image description here

3)在横向模式下点击一行,一切都很好:

enter image description here

4)返回人像模式,导航栏比平时更高! enter image description here

我在viewDidLoad()viewWillAppear()viewDidAppear()等任何代码中都没有任何代码,这些代码会对布局或约束进行任何更改。在故事板中,我没有任何运气就开始尝试Adjust ScrollView Insets。可能有什么不对?

更新:如果我不使用ContainerView,则不会发生这种情况。所以这似乎是罪魁祸首。我没有将自己的类用于ContainerView或包含它的视图。对它的约束非常简单:前导,尾随空间分别为SuperView和Bottom,从上到下布局指南和顶部布局指南。这可能是ContainerView本身的错误吗?

1 个答案:

答案 0 :(得分:0)

好的,所以我弄明白问题是什么。当我将$(document).foundation();放在故事板中ContainerView的{​​{1}}时,我已将View顶部边缘与UIViewController底部边缘。这也是我设置约束的方式。这是问题的根源。一旦我更改了ContainerViewStatusBar顶部边缘对齐,问题就解决了!