1

我有一个包含 200-300 个不同高度的单元格的表格 + 一个包含 UITextView 的单元格(这样的表格用于读取和发送消息)。我需要在输入文本时动态调整单元格(包含 UITextView)的高度。我使用下一个代码来触发tableView:heightForRowAtIndexPath:

[tableView beginUpdates];
[tableView endUpdates];

但这会触发tableView:heightForRowAtIndexPath:对所有行的调用。如果表有很多行,这会降低性能。另一种方法可能是使用UITableView reloadRowsAtIndexPaths:方法,但这会导致键盘消失(UITextView 辞去第一响应者)。

是否可以仅触发tableView:heightForRowAtIndexPath:对单行的调用,或者是否有任何其他方法可以动态调整表格单元格的大小?

4

1 回答 1

3

要仅重新加载某些行,请使用:

NSArray *array = [NSArray arrayWithObject:indexPath]; 
[self.tableView reloadRowsAtIndexPaths:array withRowAnimation:UITableViewRowAnimationNone]; 
于 2013-10-09T09:54:24.490 回答