如何在UIStackView中具有多个子视图的宽度和高度

dub*_*eat 21 interface-builder ios uistackview

比方说,我想在堆栈视图中添加3个按钮.

Button1是200*200(1)

Button2是150*150(0.75)

Button3是100*100(0.5)

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

Irf*_*fan 41

您可以使用stackview在故事板中完成此操作

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

设置如图所示:

在此输入图像描述

由于Alignment属性,您遇到了冲突,在您的情况下它会填充.制造是中心和完成.

我们还可以在按钮之间添加间距.如果我们设置分布相等间距并将高度约束添加到stackview,其高度超过按钮的高度.

这是垂直stackview.您可以使用水平stackview测试相同的内容.

希望它能为你效劳.

  • 奇迹般有效。同样的技术也适用于包含大小不等的元素的水平堆栈视图。 (2认同)
  • 不适用于 UILabels。我想使用标签的动态宽度。我在水平轴上有 3 个标签,想要将左右标签的宽度设置为 <= 0.45 超级视图的乘数,并将中心标签填充为剩余宽度 (2认同)