【发布时间】:2015-01-21 00:36:41
【问题描述】:
我在 Xcode 6.1 中使用带有 Interface Builder 的 Auto Layout/Constraints,以便我的应用程序可以在所有 iOS 设备上正确呈现。它在 iPhone 4s/5/5s/6 模拟器和真正的 5s 上运行良好,但是当我在 iPhone 6 Plus 模拟器上运行它时,部分视图被截断。
为了调试它,我从 Apple 下载了 AlternateViews 示例代码,并看到了完全相同的行为。然后我尝试编写一个非常简单的测试应用程序,并再次看到同样的事情。我注意到 iPad Air Simulator 也切断了部分视图,当我在真实的 iPad Air 上进行测试时,模拟/真实显示不匹配。我觉得我的开发设置有问题(不是 iOS 模拟器中的错误),但我仔细检查了所有内容,甚至重新安装了 Xcode。如果您以前看过此内容,请告诉我,或者对接下来要尝试的内容提出建议。谢谢!
iPhone 6 模拟器上的 AlternateViews 示例:
iPhone 6 Plus 模拟器上的 AlternateViews 示例:
我在 iPhone 6 模拟器上的 SimpleTestApp:
我在 iPhone 6 Plus 模拟器上的 SimpleTestApp:
我在 iPad Air 模拟器上的 SimpleTestApp:
我在 Real iPad Air 上的 SimpleTestApp:
【问题讨论】:
-
我也有类似的问题。该视图在所有 iPhone 版本中完全错位。我什至用一个新的单视图应用程序进行了测试,只是添加了“日期选择器”,运行了这些应用程序。日期选择器被截断了一半。我不明白。我正在使用默认设置,并没有更改任何内容。当我查看日期选择器的约束时,两边的宽度都是 -16。
-
@NikolasSakic 这根本不是同一个问题。这只是因为您没有添加任何定位日期选择器的约束。故事板中的视图很宽,但屏幕很窄,当 iPhone 上的视图变窄时,您没有做任何事情来重新定位日期选择器,所以它保持在原来的位置,贴在现在的右侧窄屏。另请参阅我的回答:stackoverflow.com/a/26962218/341994
标签: ios iphone autolayout ios-simulator iphone-6-plus