【发布时间】:2017-04-27 12:41:39
【问题描述】:
我的水平堆栈视图中有 5 个元素。在某一时刻,我隐藏了索引 1 和 2 处的元素。我的间距为 1pt,似乎当元素 1 和 2 被隐藏时,元素 0 和 3 之间的间距是元素 0 和 1、1 之间的间距之和和 2,以及 2 和 3。 我的堆栈视图属性是:
stackView.axis = .horizontal
stackView.distribution = .fillEqually
stackView.spacing = 1pt
我的问题是:如何删除这些间距的总和。在我看来,它不应该这样。所以我错过了什么吗?
【问题讨论】:
-
您可能需要从堆栈中删除视图 - 只是隐藏它们不会消除间距。
-
我认为它违背了 isHidden 属性链接到堆栈视图的排列子视图的目的。
-
来自 Apple 的文档:“似乎从堆栈中删除了第一个排列的视图。该视图仍在堆栈内,只是不再可见,不再对布局做出贡献。” -- 因此,View 不再对布局有贡献,但由于它仍然“存在”,所以仍然使用 spacing 值。 (注:我不为 Apple 工作 - 只是我的解释)
-
好的,谢谢 DonMag 我想我会删除它们。但客观地说,当您查看它在 CSS 和 Android 中是如何完成的时,相对于元素的间距被删除了。这种行为对我来说听起来既合乎逻辑又很有帮助。
标签: ios uistackview