在UITableViewCell中隐藏UI元素并根据

问题描述:

调整单元格的大小用UITableViewAutomaticDimension隐藏UITableView中UI元素的最佳方法是什么?在UITableViewCell中隐藏UI元素并根据

我在单元格中有多个标签,按钮和图像。对于特定的情况,我想隐藏其中的一些,并希望tableview相应地调整大小。

如果我错过了一些东西,请纠正我。

+0

在UIImageView的情况下,您必须将其高度约束设置为0,只需将UILabel的文本设置为空字符串,只要其高度从其内容推断即可。如果你已经明确地设置了高度,你将需要找出约束的出口并将其设置为0. – Rikh

+0

单元格中有大约25个元素,并且一些标签是可能存在或不存在的第0行。所以为它们写高度限制会很麻烦。建议尽可能使用其他方法 –

+0

只要UILabel为空,它们的高度将为0,并且自动尺寸不会有任何问题,但是它们的垂直间距约束仍然有效。您可以通过编程方式遍历视图中的所有元素,然后迭代每个元素的约束,直到找到高度约束并将其设置为0,但这将需要大量处理。除此之外,我很抱歉,我不知道:D – Rikh

使用StackView。

StackView会管理它,当元素隐藏时它们会自动调整大小。 使用StackView中的tableview细胞

Click Here如何使用StackView

Click Here For Example,这将帮助你更了解。

+0

肯定会通过并让你知道。 –

+1

祝你好运,我向你展示了面糊理解的例子。 – Ujesh

+0

感谢兄弟一定会通过它 –

如果您使用UITableViewAutomaticDimension那么您必须以编程方式更新约束。

即,如果你有2个标签和2个按钮,并且你想隐藏在标签上点击其中一个按钮。那么你必须管理该标签的高度约束来管理自动管理单元高度。

+0

感谢您的帮助@jatin但问题是,单元格中有大约25个元素,并且一些标签是可能存在或不存在的第0行。所以为它们写高度限制会很麻烦。如果可能,请提出其他方法。 –

+1

然后你必须去stackview。但唯一的问题是支持stackview的是iOS 9和后者的iOS版本。 –

+0

我的项目支持iOS 9+,所以没有问题。会给它一个镜头,让你知道。 –