我有一个分组UITableView
,其单元格的内容是动态的。我需要在cellForRowAtIndexPath:
方法中计算每个单元格所需的实际高度。我正在测试iOS 7和iOS 8设备,我发现在iOS 8中,当heightForRowAtIndexPath:
返回时调用方法cellForRowAtIndexPath:
(然后,我更新了单元格的高度),但它在iOS 7中未调用(因此所有单元格的高度始终相同)。
我无法找到解决此问题的方法......拜托,有人可以帮帮我吗?
提前致谢
答案 0 :(得分:4)
你的前提是错误的。如果您正确地执行此操作,那么在iOS 7和iOS 8(以及之前的所有系统中),heightForRowAtIndexPath:
在调用cellForRowAtIndexPath:
之前被称为 。通常情况下,在第一次调用heightForRowAtIndexPath:
之前,每行调用cellForRowAtIndexPath:
。这样,表格在开始生成单元格之前就有足够的布局信息。
如果您看到行为上的差异,可能是因为您还使用estimatedRowHeight
,其在iOS 8与iOS 7中的行为方式不同。因此,简单的解决方案是:不要那样做。