我怎样才能在 UIStackView 中有多个宽度和高度的子视图

How Can I have multiple widths and heights of subviews in a UIStackView

例如,我想将 3 个按钮添加到堆栈视图。

按钮 1 为 200 * 200 (1)

按钮 2 为 150 * 150 (0.75)

按钮 3 为 100 * 100 (0.5)

如何在界面生成器中完成此操作?

您可以使用 stackview 在 Storyboard 中完成此操作

  1. 添加带有对齐中心分布填充的堆栈视图。
  2. stackview 的约束是水平居中和垂直居中。
  3. 现在添加三个按钮。
  4. button1 的约束是高度和宽度 = 200
  5. button2 的约束是高度和宽度 = 150
  6. button3 的约束是高度和宽度 = 100

设置如图:

您因为对齐 属性 而发生冲突,在您的情况下它会填充。 make 是中心,它已完成。

我们还可以添加按钮之间的间距。如果我们设置 Distribution Equal Spacing 并向高度超过按钮高度的 stackview 添加高度约束。

这是垂直堆栈视图。您可以使用水平堆栈视图进行相同的测试。

希望对你有用。

对于那些正在为 UIViewHere it is,

寻找解决方案的人

UIStackView 确保其 排列的子视图 保持 相同的比例 布局扩大和缩小。但是,与其他分布选项不同的是,成比例的视图必须具有 intrinsic content size.