Ios 如何在堆栈视图中设置纵横比?

Ios 如何在堆栈视图中设置纵横比?,ios,swift,autolayout,Ios,Swift,Autolayout,我正在努力改进我的应用程序,使其在每台iPhone设备上看起来都一样。我开始在iPhone8 plus上设计。 我在视图中添加了3个按钮,并设置了3个约束(宽度/高度和纵横比)1st按钮=宽度:300高度:65纵横比 第二个按钮=宽度:175高度:65纵横比 第三个按钮=宽度:200高度:65纵横比 我将它们添加到stackView并设置了一些选项(轴:垂直,对齐:中心,分布:按比例填充,间距:19) 现在我想设置stackView,使其在每个设备上看起来都完全相同。。当我添加3个约束(上/右/

我正在努力改进我的应用程序,使其在每台iPhone设备上看起来都一样。我开始在iPhone8 plus上设计。 我在视图中添加了3个按钮,并设置了3个约束(宽度/高度和纵横比)
1st按钮=宽度:300高度:65纵横比
第二个按钮=宽度:175高度:65纵横比
第三个按钮=宽度:200高度:65纵横比

我将它们添加到stackView并设置了一些选项(轴:垂直,对齐:中心,分布:按比例填充,间距:19)
现在我想设置stackView,使其在每个设备上看起来都完全相同。。当我添加3个约束(上/右/左+纵横比)时,我没有得到我想要的结果。知道我做错了什么吗?

设置stackView分布=
平均填充
,然后当您给stackView这些约束时

上、左、右和纵横比


任何项目都将调整其高度大小,并为每个项目提供所需的纵横比,以便宽度相应拉伸

是否设置了堆栈视图的约束?是的,例如,我设置了top:0、left:50、right:50和纵横比,在每个iphone设备上它看起来都不一样我将堆栈视图分布和约束设置为(上:50,左:50,右:50纵横比)但仍然存在相同的问题,它在每个设备上看起来都不一样。(例如,在iphone SE上,第一个按钮在视图之外)您为堆栈设置了什么样的纵横比??根据您的纵横比,第一个按钮的宽度将为262,尽管堆栈宽度为220=>320(iphone SE宽度)-(50+50)=220,这将超过堆栈宽度,因此您需要降低此按钮或堆栈的纵横比。顺便说一句,在任何要适应纵横比和不同屏幕大小的设计中,您都会遇到这种情况。您还可以根据设备大小以编程方式设置约束,因为自动布局的大小类可能对此没有帮助suei没有更改它们您必须根据需要更改自动布局根据堆栈的当前大小创建一个方面这不是必须的