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