表格查看具有复杂结构的单元格高度和UITableViewAutomaticDimension

时间:2016-10-04 15:13:37

标签: ios uitableview autolayout uitableviewautomaticdimension

如何创建结构复杂的自动表格视图单元格,其中包含大量的子视图?

以下是表格视图单元格的示例:Table view cell example

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

如何使用autolayout和UITableViewAutomaticDimension将tableview单元格高度减少为130px,方法是删除/隐藏/整个绿色区域?

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

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

2 个答案:

答案 0 :(得分:1)

我建议使用垂直UIStackView,其中包含其他所有内容。堆栈视图具有很好的功能,它为您设置了包含视图的约束 - 并且当您插入或删除包含的视图时它会得到补偿,这似乎是您所追求的。您可以在每次删除或插入视图时自行设置这些约束,但您的问题意味着您不知道如何执行此操作。 UIStackView 确实知道如何。

答案 1 :(得分:0)

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