我正在开发一个类似twitter的客户端,并且有一个由UITableView实现的消息 ListView 。对于每个单元格,可能需要加载动态大小的图像,并且图像是异步加载的。因此,加载 TableView 时图像的大小是未知的。
是否可以在加载图像后更新 uitableviewcell 的高度。
据我所知,更新高度的唯一方法是使用以下方法: - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 但它只是在第一次加载数据时调用。从性能考虑这是合理的。无论如何,以后有办法改变高度吗?
感谢您提供任何信息!
最后,我使用“reloadRowsAtIndexPaths”来更新特定行,您可以对隐藏单元格尝试此操作。
[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:toReloadRows withRowAnimation: UITableViewRowAnimationNone];
[self.tableView endUpdates];
但是,在更新可见单元格的高度时,单元格会晃动。所以最好事先计算好像元高度。
最佳答案
尝试调用一个空的更新 block :
[self.tableView beginUpdates];
[self.tableView endUpdates];
这似乎适用于可见细胞。我仍在与隐藏的细胞作斗争。
关于iphone - 如何在 tableView.reloadData 之后更改 uitableviewcell 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5322735/