如何设置根Stack View的乘数值(相当宽度为超级视图,0.7倍数),iPhone为0.7,iPad为0.6?

时间:2017-01-12 20:10:33

标签: ios autolayout size-classes

我为根Stack View做了一个基于百分比的宽度。

首先,我将根堆栈视图的宽度等于超级视图,并将乘数设置为0.7,以获得70%的子视图。然后在容器中水平居中。它适用于所有iPhone,但对于iPad来说它更大。我希望将乘数从0.7增加到0.5或0.6,以便根视图可以完美地用于iPad。

我没有在乘数旁边找到+(加号)符号来制作它(iPad的常规常规)。

我想要的是让所有iPad的超级视图的60%宽度和所有iPad的70%宽度超级视图的根堆栈视图。

有没有办法改变iPhone的乘数值0.7和iPad的乘数0.6?

1 个答案:

答案 0 :(得分:1)

当然是!使用Size类可以很容易地实现它,但不幸的是,你必须为不同的大小类添加另一个约束,而不是为同一个约束添加不同的乘数

1)假设你有这样的观点: enter image description here

2)您所要做的就是添加另一个subview-superview等宽约束:

enter image description here

enter image description here

3)当然会遇到冲突的约束:

enter image description here

4)在新约束

上设置iPad(0.6)所需的乘数

5)棘手的部分:为Regual WidthRegular Height(iPad尺寸类)以外的所有尺寸类启用旧约束,反之亦然:

5.1)为第一个约束添加wR hR“变体”: enter image description here

并禁用它: enter image description here

对第二个约束执行相同操作,但为“安装”变体禁用它。

最后两个常量应如下所示:

enter image description here

enter image description here

正如您所看到的,如果我们预览iPhone,我们只会看到激活的第一个约束,在iPad预览中只激活了第二个约束。