在 Xcode 模拟器中将视图堆栈压缩为一个块

Stack Views Compressing into a Block in Xcode Simulator

因此,在处理我的个人项目时,在对自动布局约束感到沮丧之后,我发现了 Stack Views。在观看了有关该主题的几个教程和指南后,我想尝试一下。所以我创建了一个新的 Xcode 项目并使用了一段时间,它们似乎工作正常。然而,在将它们实施到我的更大项目的过程中,我遇到了几个问题,我希望这些问题是我的错误,而不是 Xcode 8 个错误。

在堆叠视图并将它们分开后,我得到了这个结果,这正是我想要达到的效果:

然而,当我在模拟器中 运行 它时,即使与情节提要的大小完全相同,视图也会全部压缩成一团肥大的块状混乱,这与情节提要中显示的完全不同:

(忽略绿色的东西,只是为了帮我排版)

//我是如何堆叠视图的

我主要是逐行堆叠所有内容,然后将这些行堆叠在一起。然后我将主堆栈视图限制为大约 10 点到前导和尾随超级视图 && 28 pts 到顶部布局指南和 40 pts 到底部布局指南。

如何正确堆叠这些该死的视图,使其在所有设备和屏幕尺寸上看起来完全一样?请尽量具体,包括内容模式等

这是我实现的解决方案:

查看层次结构

规格

MainStackView

约束:前 - 20,前导 - 10,尾随 - 10,后 - 20

对齐:填充、分布 - 填充、间距 - 20

第 1 行

约束:与 MainStackView 等高,乘数 - 0.1

行 2

第 3 行

约束:与 MainStackView 等高,乘数 - 0.37

对齐:填充、分布 - 均匀填充、间距 - 10

第 31 行, 第 32 行, 第 33 行

约束:无

对齐:填充、分布 - 均匀填充、间距 - 10

第 34 行

约束:无,在 Row34 的等宽小视图上添加约束,乘数 - 0.314

对齐:填充、分布 - 填充、间距 - 10

第 4 行

约束:与 Row1 等高,在与 Row4 等宽的小视图上添加约束,乘数 - 0.314

对齐:填充、分布 - 填充、间距 - 10

输出