根据大小类更改约束的乘数

时间:2014-12-01 12:02:24

标签: ios uikit autolayout size-classes

是否可以根据当前大小类给出约束不同的乘数?

我认为我希望屏幕尺寸只有普通尺寸类宽度的一半,我希望它的尺寸​​是屏幕尺寸的80%,以获得紧凑的尺寸类宽度。在故事板中,我可以选择将不同大小类的不同变量添加到约束常量值,但不是它的乘数值。如果相关,它是一个等宽度约束。

我没有通过编程方式添加约束来做很多事情,所以我希望他们可能成为一条解决方案。任何人都可以告诉我,是否有可能通过故事板或编程方式进行我正在寻找的内容?

2 个答案:

答案 0 :(得分:21)

解决方案非常明显,不知道我是如何错过它的。您必须创建两个不同的约束并相应地启用/禁用它们。

我认为这是一个非常不优雅的解决方案,我真的很想,如果苹果能够做到这一点,你就可以像常量变量那样为每个大小的类定义不同的乘数。有许多只有一个值不同的约束似乎会导致一个非常难以维护和难以维护的故事板。

如果有人知道任何更好的解决方案,或者知道为什么这样做,我仍然希望听到它。

答案 1 :(得分:0)

我能够通过选择元素(其约束需要更改)为每个尺寸类提供不同的乘数 - >尺寸检查员 - >约束选择“全部”而不是“此大小类” - >这将显示当前大小类的约束以及未选择的大小类的约束为灰色。右键单击所需的约束(两个大小类中都显示常见约束),您可以更改两个大小类约束的乘数值。