Ios 如何设置根堆栈视图的倍增值(与超级视图的宽度相等,倍增为0.7),iPhone为0.7,iPad为0.6?

Ios 如何设置根堆栈视图的倍增值(与超级视图的宽度相等,倍增为0.7),iPhone为0.7,iPad为0.6?,ios,autolayout,size-classes,Ios,Autolayout,Size Classes,我为根堆栈视图做了一个基于百分比的宽度 首先,我将根堆栈视图的宽度设置为与超级视图相同,并将乘数设置为0.7,以获得子视图的70%。然后水平居中放置在一个容器中。它适用于所有iPhone,但对于iPad来说更大。我想使乘数从0.7到0.5或0.6,以便根视图可以完美地显示在iPad上 我没有在乘法器旁边找到一个+(加号)来表示它(iPad为常规) 我只想让根堆栈视图为所有iPhone获得60%的superview宽度,为所有iPad获得70%的superview宽度 有没有办法改变iPhone的

我为根堆栈视图做了一个基于百分比的宽度

首先,我将根堆栈视图的宽度设置为与超级视图相同,并将乘数设置为0.7,以获得子视图的70%。然后水平居中放置在一个容器中。它适用于所有iPhone,但对于iPad来说更大。我想使乘数从0.7到0.5或0.6,以便根视图可以完美地显示在iPad上

我没有在乘法器旁边找到一个+(加号)来表示它(iPad为常规)

我只想让根堆栈视图为所有iPhone获得60%的superview宽度,为所有iPad获得70%的superview宽度


有没有办法改变iPhone的倍增值0.7和iPad的倍增值0.6?

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

1) 假设你有这样的观点:

2) 您只需添加另一个子视图superview等宽约束:

3) 当然,获取冲突约束:

4) 在新约束上设置iPad所需的乘数(0.6)

5) 棘手的部分:为所有尺寸类别启用旧约束,除了
常规宽度
常规高度
(iPad尺寸类别),反之亦然,用于新约束:

5.1)为第一个约束添加wR hR“变化”:

并禁用它:

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

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


如你所见,如果我们预览iPhone,我们只会看到第一个约束被激活,在iPad预览中,只会看到第二个约束被激活。

非常感谢。我现在也知道安装了什么了。我不知道该怎么感谢你@约翰很乐意帮忙:)