注意:这个问题不是与正在运行的应用程序中的视图大小它与界面生成器中画布上导航控制器表示的大小严格相关。
此图说明了 Interface Builder 中的问题行为。
我还没有找到使导航控制器表示更小的方法。可以想象,一个 iPad 应用程序在许多 Popovers 中有许多 Navigation Controller 会导致 Storyboard 画布变得非常拥挤。
请注意,为了更正 Navigation Controller 的根视图控制器的大小,我必须将根视图控制器的Simulated Metrics Size调整为“Freeform”,然后手动指定它的根视图大小以匹配容器视图大小。
此图显示了导航控制器元素的所需行为。
此图还提示了问题的原因。如果存在插入视图控制器,则容器视图的大小不会向下渗透到导航控制器元素。
我发现了 3 个类似的问题,但没有一个提供说明,也没有一个直接解决这个问题仍然存在于 Xcode 5 中。
- 在 InterfaceBuilder 中调整 NavigationController 的大小
- 如何在故事板编辑器中调整 UINavigationController 的大小
- 故事板中 UINavigationController 的弹出框大小
在过去的 90 天里,我在 Apple 开发者论坛上没有找到任何答案。
所以问题是,Interface Builder 中是否有一些我忽略的控制或设置可以解决我的问题?
上面列出的问题的一个答案提供了一个技巧,它涉及为每个导航控制器添加一个未使用的视图控制器和容器视图,但这并不令人满意,因为向情节提要中添加杂物比拥有超大的导航控制器更糟糕。