我正在使用 Xcode 4.5 和 iPhone 4 和 5 模拟器,Interface Builder 会在屏幕的上半部分添加一个带有顶部约束的 UIButton,并在屏幕的下半部分添加一个带有底部约束的 UIButton。
它在 iPhone 5 模拟器上运行良好,但在 iPhone 4 模拟器上,按钮可能重叠,或者底部按钮甚至可能位于顶部按钮上方。
我认为这是由于约束,例如底部按钮“必须距离底部边距 250 点”。我无法删除约束,如果将其更改为“250 点或更少”,它将不起作用,如果将其更改为“250 点或更多”,它也将不起作用。
有没有办法:
1)让它没有约束,但只是绝对x和y的位置?(或者说过去的春天怎么样,让 iPhone 5 的一切都间隔得更远了?)
2) 将NIB 设置为仅适用于iPhone 4 和4S 的NIB,以便该应用程序在iPhone 4 和4S 上运行良好,而在iPhone 5 上只是“黑边”。
3) 让它在 iPhone 5 上运行良好并且在 iPhone 4 上运行良好?
如果您只知道上述 (1)、(2) 或 (3) 的解决方案,请无论如何都给出解决方案,因为它仍然是过渡期的可行解决方案。
实际上很容易重现:使用 Xcode 4.5 创建一个简单的 Single View 应用程序,然后将一个按钮拖到屏幕中心点上方,另一个按钮拖到屏幕中心点下方。然后在模拟器上运行它。在 iPhone 5 上,它是:
现在停止应用程序,并将模拟器中的设备更改为 iPhone 4S(3.5 英寸 Retina)。如果您不先停止应用程序,模拟器可能会崩溃。现在再次运行应用程序,按钮将重叠: