请注意左侧的Nib显示一个包含2个UILabel,1个UITextView和2个按钮的布局。按钮的Y坐标在运行时更改。造成这种情况的原因是什么?如何解决?
更新#1 - 当我转移到iPhone Retina 4英寸显示屏时,问题就消失了。
更新#2已解决 - 通过取消选中xib属性中的“Autolayout”,问题就消失了。
答案 0 :(得分:1)
看起来你正在使用iOS 6和故事板,模拟4英寸“高”iPhone屏幕外形。假设您正在使用自动布局,您可能会在一个或两个按钮上添加一个约束,将它们固定在超级视图的底部。当您在3.5英寸屏幕iPhone模拟器上运行您的应用程序时,按钮似乎“向上移动”,因为他们的超级视图比故事板上的更短。
在编辑故事板时找到带有下图所示图标的按钮,然后单击它以在3.5英寸和4英寸外形之间切换模拟屏幕尺寸。你应该看到你的按钮根据它们的约束重新布局。
要设置按钮相对于顶部而不是超视图底部的间距,请选择两个按钮,然后从菜单栏中选择编辑器菜单> Pin > 超级视图的最佳空间。 (或直接从故事板中使用下图所示的Pin按钮。)
如果你还没有了解它,那就有一个很好的introductory tutorial to Auto Layout here。