Table查看结构复杂的单元格高度和UITableViewAutomaticDimension

Table View cell height with complicated structure and UITableViewAutomaticDimension

如何创建结构复杂且包含大量子视图的自动 table 视图单元格大小?

这里是 table 视图单元格的示例:

例如,table 视图单元格的总高度为 220 像素: 棕色区域 - 70 像素,绿色区域 90 像素,红色 - 10 像素和黑色 - 50 像素。蓝色区域始终与 table 视图单元格高度相同。

如何使用自动布局和 UITableViewAutomaticDimension 将 tableview 单元格高度降低到 130px removing/hiding/whatever 整个绿色区域?

是否可以使用 UITableViewAutomaticDimension 并在不使用任何旧式方法的情况下纠正约束来实现它?

注意:最低版本为 iOS 8(但 iOS 9+ 解决方案也可以,我会增加最低版本...)

添加约束后,您可以为附加到绿色部分的高度约束创建一个出口并将其更改为 height = 0(或任何您想要的),然后更改整个单元格的高度。

我建议使用垂直 UIStackView 以及其中的所有其他内容。 stack view 有一个很棒的特性,它为你设置了它包含的视图的约束——它会在你插入或删除一个包含的视图时进行补偿,这似乎是你想要的。每次删除或插入视图时,您都可以自己设置这些约束,但您的问题暗示您不知道该怎么做。 UIStackView 知道怎么做。