2015-03-08 74 views
1

我有一个分组为UITableView的单元格内容是动态的。我需要在cellForRowAtIndexPath:方法中计算每个单元格所需的实际高度。我正在iOS 7和iOS 8设备上进行测试,我发现在iOS 8中,当cellForRowAtIndexPath:返回(然后我更新了单元格的高度)时会调用方法heightForRowAtIndexPath:,但它不会在iOS 7中调用所有细胞的高度始终相同)。heightForRowAtIndexPath不会在iOS 7中的cellForRowAtIndexPath后调用

我无法找到解决这个问题的方法......请问有人能帮我吗?

在此先感谢

回答

4

你的前提是错误的。如果你正确地做到了这一点,那么在iOS 7和iOS 8(以及之前的所有系统中)中,heightForRowAtIndexPath:在您拨打cellForRowAtIndexPath:之前被称为。一般情况下,heightForRowAtIndexPath:被称为每行,之前第一次调用cellForRowAtIndexPath:。这样,表格在开始生成单元格之前就有足够的布局信息。

如果您看到行为上的差异,那可能是因为您也使用了estimatedRowHeight,它在iOS 8和iOS 7中表现有所不同。因此,简单的解决方案是:不要这样做。

相关问题