UIViewController Nib布局在运行时更改

时间:2012-11-09 18:37:12

标签: iphone ios uiviewcontroller

enter image description here

请注意左侧的Nib显示一个包含2个UILabel,1个UITextView和2个按钮的布局。按钮的Y坐标在运行时更改。造成这种情况的原因是什么?如何解决?

更新#1 - 当我转移到iPhone Retina 4英寸显示屏时,问题就消失了。 enter image description here

更新#2已解决 - 通过取消选中xib属性中的“Autolayout”,问题就消失了。 enter image description here

1 个答案:

答案 0 :(得分:1)

看起来你正在使用iOS 6和故事板,模拟4英寸“高”iPhone屏幕外形。假设您正在使用自动布局,您可能会在一个或两个按钮上添加一个约束,将它们固定在超级视图的底部。当您在3.5英寸屏幕iPhone模拟器上运行您的应用程序时,按钮似乎“向上移动”,因为他们的超级视图比故事板上的更短。

在编辑故事板时找到带有下图所示图标的按钮,然后单击它以在3.5英寸和4英寸外形之间切换模拟屏幕尺寸。你应该看到你的按钮根据它们的约束重新布局。

Apply Retina 3.5 Form Factor Button

要设置按钮相对于顶部而不是超视图底部的间距,请选择两个按钮,然后从菜单栏中选择编辑器菜单> Pin > 超级视图的最佳空间。 (或直接从故事板中使用下图所示的Pin按钮。)

Pin Button

如果你还没有了解它,那就有一个很好的introductory tutorial to Auto Layout here