如何在UIStackView(iOS 9)的中心周围均匀分布两个子视图?

Tom*_*nko 3 uikit ios ios-autolayout uistackview

如何在垂直轴上围绕UIStackView的中心均匀分布两个子视图?

当前,两个标签都位于StackView的顶部和底部。堆栈视图是模拟器屏幕截图上的灰色区域。

如何使它们均匀分布?

   |
   |
[UILabel]
   |
   |
[UILabel]
   |
   |
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的配置,但无法获得理想的结果。

这是我当前的代码:

let object = UIStackView()
object.translatesAutoresizingMaskIntoConstraints = false
object.alignment = UIStackViewAlignment.Center
object.axis = .Vertical
object.distribution = UIStackViewDistribution.EqualSpacing
Run Code Online (Sandbox Code Playgroud)

Ujw*_*wal 5

考虑到您已将相似的属性设置为UIStackView(如问题中所述)

   alignment -> Center 
        axis -> Vertical
distribution -> Equal Spacing
Run Code Online (Sandbox Code Playgroud)

可以通过在UIStackView的两端引入两个高度限制都设置为0的空视图来实现该解决方案。

说明

在添加两个高度为0的空视图时,我们告诉UIStackView我们有4个视图而不是2个。 在此处输入图片说明

现在,UIStackView将在所有视图之间以及输出之间添加相等的间距。

在此处输入图片说明

您可以通过查看UIStackView的高度和标签的位置来交叉验证它。

希望这可以帮助 !!!