我的水平堆栈 View 中有 5 个元素。在某一时刻,我隐藏了索引 1 和 2 处的元素。我的间距为 1pt,似乎当隐藏元素 1 和 2 时,元素 0 和 3 之间的间距是元素 0 和 1, 1 之间的间距之和和2、以及2和3。 我的堆栈 View 属性是:
stackView.axis = .horizontal
stackView.distribution = .fillEqually
stackView.spacing = 1pt
我的问题是:如何删除这些间距的总和。在我看来,它不应该像这样。那么我错过了什么吗?
最佳答案
我也遇到了同样的问题,至少我是这么认为的。在我的例子中,问题的原因是我错误地隐藏了 View 的单个 subview 而不是 View (以前是堆栈 View 的直接 subview 的 subview ),因此 View 在视觉上看起来没有被渲染它是。更改为隐藏实际 View 使问题消失。
简而言之,我有一个 UILabel
,它被添加到我隐藏/取消隐藏的 UIStackView
中。后来,我将标签嵌入到 View 中,但错过了更改我隐藏/取消隐藏的导出,因此我继续使用该标签,导致它的父级仍呈现在堆栈 View 中(高度为零)。
关于ios - 即使排列的 subview 被隐藏,UIStackView 似乎也会堆叠间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43658140/