ios - 即使排列的 subview 被隐藏,UIStackView 似乎也会堆叠间距

标签 ios uistackview

我的水平堆栈 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/

相关文章:

ios - 使用 Unwind segue UITextField 传递数据

ios - 推送到另一个 View Controller 在 iphone 中花费太多时间

ios - 使用 Parse.com APP ID 和 Client ID 安全问题

ios - 在 ScrollView 中使用 2 个垂直堆栈 View ,根据内部 View 增加高度

swift - UIStackView 未显示

ios - UIScrollView 内部的 UIStackView 具有动态更改的项目

ios - NSFileManager - Swift - 文件浏览器

ios - UITextField 未在 UIStackView 中提交可用宽度

ios - 设置标签的文本会导致堆栈 View 布局问题

ios - 在不要求用户登录的情况下检索 youtube 播放列表