【发布时间】:2016-02-11 03:04:20
【问题描述】:
我的结构如下:
ContainerView --embed segue--> NavigationController --> UITableViewController A --push segue--> UITableViewController B
这种排列效果很好,但是当我将方向更改为 Landscape 时,点击 A 中的一行将我带到 B,并将方向更改回 Portrait,我的 NavigationBar 高度增加如下:
1) 人像模式,一切都好:
1) 方向改为横向模式,一切正常:
3) 在横向模式下点击一行,一切正常:
我在任何viewDidLoad()、viewWillAppear()、viewDidAppear() 等中都没有任何代码,这些代码会对布局或约束进行任何更改。在情节提要中,我尝试打开和关闭Adjust ScrollView Insets,但没有任何运气。有什么问题?
更新:如果我不使用ContainerView,则不会发生这种情况。所以这似乎是罪魁祸首。我没有将我自己的类用于 ContainerView 或包含它的视图。它的约束非常简单:SuperView 和底部的前导、尾随空间、从上到下的布局指南和顶部布局指南。这可能是ContainerView 本身的错误吗?
【问题讨论】:
-
你有没有使用任何约束或AutoLayout?
-
不在 NavigationBar 上(不确定这是否可能),但对于视图上的其他元素,是的,我有。不过,我对高度进行硬编码没有任何限制。
-
是的,我也不确定这是否可能,但我只是想考虑一些会影响高度的事情(当然除了简单的 Xcode 错误)。
-
我也一样,我已经在这工作了一天多,没有任何进展。如果我不改变方向,没有问题,一切都很好。我还确保当方向改变时我不会自己做任何事情..sigh
标签: swift uinavigationbar ios9