Xcode 如何在水平堆栈视图中创建方形按钮(宽度等于高度)

Xcode How to create a square button(width equal to height) inside a Horizontal stackview

我需要在页面底部创建 3 个方形按钮。所有这些都必须对齐并且它们的大小应该是正方形的。

到目前为止,我已经创建了一个水平堆栈视图并创建了自动布局约束,从左边开始限制 50,从右边开始限制 50,从底部开始限制 10,并将堆栈视图高度设置为 60。

我如何创建方形按钮,因为 stackview 子视图宽度是动态的并且在 运行 时间确定?

如何为这三个按钮设置相同的纵横比?

我认为您唯一缺少的是在 Stack View 的 Attributes Inspector 中设置 Distribution。设置为均匀分布如下图所示:

要设置高度,您只需在每个按钮上设置高度限制即可。单击领带战斗机外观图标并为每个设置高度:

不要设置堆栈视图高度;让内容来决定。

您没有说清楚您希望按钮如何布局,但我假设您希望它们均匀分布。

  1. 将按钮置于水平堆栈视图中
  2. 将堆栈视图的前导、尾随和底边约束到父视图
  3. 将堆栈视图的对齐设置为 "Fill" 并将分布设置为 "equal spacing"
  4. 在每个按钮上,在其宽度和高度之间创建纵横比约束 1:1
  5. 如果您想要按钮的最小高度,请在其中一个按钮上设置 >= 高度限制
  6. 如果您希望按钮的高度固定,请在其中一个按钮上设置 = 高度限制