在 Xcode 8 中应用基于设备屏幕尺寸的变体?

Apply variations based on device's screen size in Xcode 8?

如何根据所选设备的屏幕尺寸应用自动布局变化?所有 iPhone 设备都是 Compact width Regular height,所以如果我只想为 iPhone 4s 屏幕添加变体,则变体将应用于所有 iPhone 屏幕,因为它们都是一部分具有相同的特征。我记得这在 Xcode 7 中曾经非常简单和直接,但我猜测这只是 Apple 不必要地过度复杂化的数百万件事中的另一件事。我如何在 Xcode 8 中执行此操作?

How do I apply auto layout variations based on the screen size of the selected device

简而言之:你没有。自动布局的想法是你应用 constraints 使你的界面在 all 不同的 iPhone 大小(即即,特征集合可以是 Compact/Regular 或 Compact/Compact).

的所有不同方式

这通常是通过使用以某种方式基于最终父视图大小的约束来完成的;因此,当 superview 尺寸不同时(因为您在不同尺寸的屏幕上启动),看起来仍然不错。

I remember this used to be pretty easy and straightforward in Xcode 7

那你记错了。 Xcode 7 和 Xcode 8 在这方面没有区别。Xcode 8 在 Interface Builder 中向您显示约束效果的方式有所不同 canvas,但这只是 Interface Builder 中的显示问题,实际上是对 Xcode 7 的改进(它显示了一个无用的大方块)。