【问题标题】:How to evenly space two subviews around the center of UIStackView (iOS 9)?如何在 UIStackView (iOS 9)的中心周围均匀分布两个子视图?
【发布时间】:2016-05-06 09:50:24
【问题描述】:

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

目前这两个标签都在 StackView 的顶部和底部旁边。堆栈视图是simulator screen shot 上的灰色区域。

如何让它们间隔均匀?

   |
   |
[UILabel]
   |
   |
[UILabel]
   |
   |

我尝试了不同的配置,但都没有得到想要的结果。

这是我当前的代码:

let object = UIStackView()
object.translatesAutoresizingMaskIntoConstraints = false
object.alignment = UIStackViewAlignment.Center
object.axis = .Vertical
object.distribution = UIStackViewDistribution.EqualSpacing

【问题讨论】:

    标签: ios uikit ios-autolayout uistackview


    【解决方案1】:

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

       alignment -> Center 
            axis -> Vertical
    distribution -> Equal Spacing
    

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

    说明

    在添加两个高度为 0 的空视图时,我们告诉 UIStackView 我们有 4 个视图而不是 2 个。

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

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

    希望对你有帮助!!!

    【讨论】:

      【解决方案2】:

      在 stackView 属性检查器中,将间距值从 0 更改为您的首选空间值..

      【讨论】:

        猜你喜欢
        • 2016-05-27
        • 2012-10-16
        • 2019-04-02
        • 2012-07-26
        • 1970-01-01
        • 1970-01-01
        • 2014-12-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多