UI in Xcode (Swift):我只想要 UIStackView 的折叠功能,而不是标准化间距。仍然值得使用一个吗?

UI in Xcode (Swift): I only want the collapsing functionality of UIStackView, not standardised spacing. Still worth using one?

我有一个 UITableViewCell,我想在其中有两个 UILabel,一个 UIImageView,下面是一个 UIButton(全部垂直堆叠)。从图表上看,它看起来像这样:


UILabel

1 point vertical spacing

UILabel2

6 points vertical spacing

UImageView

4 points vertical spacing

UIButton

其中任何 两个 可能不存在(除了两个标签),其余的必须相应地调整大小,折叠空的 space。 UIStackView 是否值得在这里使用,请记住需要使用自定义间距。

举个例子,在堆栈视图中,如果我们没有要显示的图像,UIImageView 可以很容易地折叠起来,而没有图像,我想不出一种不影响高度的方法代码中 UIImageView 的约束。也许这可以通过隐藏 UIImageView 来实现?

您会推荐哪种方法?

UIStackView 可以很好地处理隐藏/取消隐藏视图,并让非隐藏元素占用任何额外的空间 space。强烈建议在这种情况下使用 UIStackView。自定义间距没什么大不了的,可以这样实现:

stackView.setCustomSpacing(6, after: UILabel2)