ios - 如何围绕 UIStackView (iOS 9) 的中心均匀分布两个 subview ?

标签 ios uikit ios-autolayout uistackview

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

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

如何使它们均匀分布?

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

我已经尝试了不同的配置,但我得不到想要的结果。

这是我当前的代码:

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

最佳答案

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

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

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

解释

在添加两个高度为 0 的空 View 时,我们告诉 UIStackView 我们有 4 个 View 而不是 2 个。 enter image description here

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

enter image description here

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

希望这有帮助!!!

关于ios - 如何围绕 UIStackView (iOS 9) 的中心均匀分布两个 subview ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37069305/

相关文章:

iphone - 连接失败后调用 viewDidLoad 无效

iphone - size_t 持有什么样的数据?

swift - 使用自动布局隐藏/显示图像?

ios - 如何增加标签中的转换值?

iOS opencv 洪水填充错误

ios - 自动布局 : animating changes to NSLayoutConstraint's multiplier

swift - iOS 14 上的 PKToolPicker 颜色选择器暗模式

ios - 动态创建UI元素时如何设置scrollview高度

iOS 居中对齐引导线,当用户拖动 UILabel 时

ios - 如何在iOS中获得上个月的第一天