我有一个UITableView
,其单元格内容可变高度。如果适用于自动覆盖的内容,但在我的情况下,仅在显示单元格(回收,重用等)时才加载(绑定到UI)内容,因此我唯一可以知道真实UITableViewCell
高度的机会是{我的表dataSource的{1}}。
此时我已经错过了willDisplay
和EstimatedHeight
个阶段。
请告知我如何在GetHeightForRow
阶段更改UITableViewCell
身高
答案 0 :(得分:1)
如果你将AutoLayout设置为正确,并且单元格应该计算它自己的高度,那么何时改变它的内容/内容高度并不重要,它将知道要适应。 检查单元格内容的顶部是否有对单元格ContentView顶部的约束,以及底部的约束。
EstimatedHeight顾名思义,只是估计。这意味着你应该有一些尝试计算dataSource模型对象高度的实现,只是一个基本的实现。
或者您可以运行应用程序一次,并在使用AutoLayout计算高度后继续查看单元格高度是多少,但这要少得多"动态"。
如果单元格在其已设置后更改其高度,则可以调用:
[tableView beginUpdates];
[tableView endUpdates];
并且单元格将重新计算自己,而不是重新加载孔tableView。