iphone - 如何在 tableView.reloadData 之后更改 uitableviewcell 的高度

标签 iphone uitableview

我正在开发一个类似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/

相关文章:

iphone - 防止从 iphone sdk 中的 uiimage 拉伸(stretch)图像

iphone - 使用 NSDictionary 的崩溃错误 - Iphone SDK

ios - 有什么方法可以预填充核心数据吗?

ios - tableview部分headview中的hitTest方法出现问题

swift - 自调整单元格使 View 拉伸(stretch)

javascript - 如何在没有 Xcode 的情况下手动安装 Phonegap 库?

iphone - iOS:通过电子邮件、短信或 Facebook 邀请好友

ipad - iPad应用程序中的TableView背景图片

iphone - 单元测试和 TDD、OCUnit 与 Google Tool Box

ios - UITableView 在 iOS 8 中很好,但在 iOS7 中崩溃了