我在Xcode故事板中为Master-Detail splitview应用程序设置了一个正常的布局,但是当我在模拟器或实际设备上运行时,它看起来有些混乱,我不明白为什么。
Xcode中的图像看起来像这样;
模拟器和设备中的布局如下所示
答案 0 :(得分:9)
这几乎肯定是子视图的自动调整设置(又名“Springs and Struts”)的问题。
您正在构建基于UISplitViewController的应用程序。请注意,当您的应用以纵向模式和横向模式运行时,详细视图控制器框架的尺寸会有所不同。在上面的故事板截图中,您可以看到横向大小的框架。模拟器的屏幕截图显示纵向大小的帧。您需要设置子视图的struts和spring(UIPickerView,拉丝金属按钮,下面的白框等),以便这些元素调整(或不调整)并保持它们在父级中的相对(或绝对)位置图。
最简单的方法是使用右栏中的“大小检查器”设置故事板中的值。选择要更改设置的元素,然后查找:
通过单击内框内的红色箭头,您将打开/关闭“弹簧”,这将确定子视图在父视图展开时是否展开,或者在发生这种情况时是否保持其原始大小。通过单击外部红色I条,您将打开/关闭“struts”,这将确定当父视图的大小更改时,子视图是否与父视图的边缘保持固定距离。设置正确的组合将使您的视图在纵向和横向方向看起来都正确。
您还可以通过设置视图的autoresizingMask
属性在代码中以编程方式更改这些设置。参见: