我正在 cellForRowAtIndex 函数中创建一个自定义单元格,并用动态文本填充它。单元格的高度根据此文本而变化,因此我需要使用 heightForRowAt 函数,但在该函数中我没有单元格。我可以创建一个新单元格并用文本填充它,然后对其调用计算高度函数,但随后我为每一行创建 2 个单元格。
大家有更好的方法吗?按行索引将单元格自己缓存在字典中的 cellForRow 函数中并使用它? cellForRow 是否在 heightForRow 之前调用?
到目前为止,我已经成功地使 Xcode4 崩溃了两次,所以我希望有人已经做到了这一点。
最佳答案
tableView:heightForRowAtIndexPath:
之前调用
tableView:cellForRowAtIndexPath:
创建两个单元格是一种可能的解决方案,但创建两个单元格并不是一种非常有效的方法。但是,您不需要单元格来计算高度;而是需要单元格来计算高度。您所需要的只是字符串。
您可能想使用
sizeWithFont:constrainedToSize:
在你的字符串上计算高度。
我可以提供有关如何执行此操作的详细信息,但您应该能够通过阅读文档来弄清楚。
关于iPhone - 根据单元格文本计算自定义 TableViewCell 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5765364/