如何为不同的屏幕尺寸设置不同的自动布局约束

我有一个静态单元格的tableView。 该单元格包含一个完全填充它的ImageView。 而且我还有另一个更小的ImageViews。 我定位这个ImageViews约束。 我有一个关于调整约束的问题。 如何在不编程if / else循环的情况下为不同的设备大小设置不同的约束常量。 有没有在故事板中设置它的方法? 我有一个主要的约束,例如与一个常数为10的父布局。这是iPhone 5的屏幕,但在iPhone 6/6加上屏幕它应该是高于10. iPhone5的Autolayout iPhone6 Autolayout

好简单。 您可以更改Storyboard中差异大小类的常量值。 我给你几个步骤后,你将能够掌握它。

首先我们创build常量,就像你在这个视图中看到的一样 在这里输入图像说明

接下来我们select我们想要改变其他大小的值的常数。 在这里输入图像说明

现在来了棘手的部分。 在属性检查器中select常量后,可以看到常量的值。 在你旁边可以看到“常数”左边的加号(+)在这里输入图像说明

点击它,并select你想要的尺寸类。 在这里,我已经select了常规高度常规宽度,即iPad的大小。 在这里输入图像说明

接下来我们给它一个新的价值。 所以,这个常数值为61的常量在以iPad尺寸类别的大小类别呈现时将以10来运作。 在这里输入图像说明

这里是输出 – iPhone 4 – 在这里输入图像说明

iPad空气 – 在这里输入图像说明

如您所见,相同的常量在运行时对应于不同的大小类具有不同的值。

希望我的解释帮助你。

最后,我发现了解决scheme在我的情况下工作。

  1. 我把透明的视图,并添加alignment中心X / Y到超视图(背景图像)与所需的偏移量,以适合我的框架的海报(在背景图像) – 透明视图的约束
  2. 然后,我将相等的宽度/高度附加到我的Superview(背景图像)的透明视图和改变倍数相等的宽度(手动我select0.61)
  3. 之后,我登上了我的1张海报。 我也垂直和水平偏移中心,并使用这组约束 – 比例宽度超视图,长宽比。
  4. 最后我用这个限制来处理我的第二张海报 – Poster1的领先空间,将CenterYalignment到Poster1(在我的情况下是偏移量)和相等的宽度/高度。 限制为海报1/2

因此,我真的适应了Autolayout,它在iPhone5-6-6 +上工作得非常好