如何在 UIStackView (iOS 9)的中心周围均匀分布两个子视图?
Posted
技术标签:
【中文标题】如何在 UIStackView (iOS 9)的中心周围均匀分布两个子视图?【英文标题】:How to evenly space two subviews around the center of 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
【问题讨论】:
【参考方案1】:考虑到您将类似的属性设置为 UIStackView(如问题中所述)
alignment -> Center
axis -> Vertical
distribution -> Equal Spacing
解决方案可以通过在UIStackView的两端引入两个高度约束设置为0的空视图来实现。
说明
在添加两个高度为 0 的空视图时,我们告诉 UIStackView 我们有 4 个视图而不是 2 个。
现在 UIStackView 将在所有视图和输出之间添加相等的间距。
您可以通过查看 UIStackView 的高度和标签的位置来交叉验证。
希望对你有帮助!!!
【讨论】:
【参考方案2】:在 stackView 属性检查器中,将间距值从 0 更改为您的首选空间值..
【讨论】:
以上是关于如何在 UIStackView (iOS 9)的中心周围均匀分布两个子视图?的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 9 上更改隐藏属性时 UIStackView 不会动画
Xcode 7 beta 5 中 iOS 9.0 之前的 UIStackView