UIStackView作为具有居中对齐内容的flexbox

问题描述 投票:0回答:1

我一直试图将一些按钮放在水平的UIStackView enter image description here

但无论我做什么,我能得到的唯一没有破坏的布局基本上是:enter image description here

我添加了约束来以编程方式修复按钮宽度,因为按钮的数量是可变的,但无法找到修复它们之间间距的方法。

这些是堆栈视图设置:

enter image description here

我尝试了所有的发行选项!

ios swift uistackview
1个回答
3
投票

顶部图像中的布局可以如下实现:

  1. 添加具有默认属性的堆栈视图(horizontal轴,fill分布)。根据需要添加可选间距。
  2. 将堆栈视图垂直约束到其超视图。
  3. 要么不将其水平约束到其超级视图,要么如果需要,使用不等式约束它(left> = superview.left,right <= superview.right)。
  4. 在超级视图中水平居中堆栈视图。
  5. 添加您的子视图。确保他们知道如何自己调整大小(根据自己的内容或固定宽度)。

关键是3和4中UIStackView的约束。你将它水平固定到它的超视图,所以它需要弄清楚如何填充所有空间。相反,将其水平居中,并允许堆栈视图占用尽可能多的空间。

© www.soinside.com 2019 - 2024. All rights reserved.