У меня есть UITableview, что ленивые загружают изображения разных размеров. Когда изображение загружается, мне нужно обновить конкретную ячейку, поэтому я понял, что мне нужно использовать reloadRowsAtIndexPaths. Но когда я использую этот метод, он по-прежнему вызывает метод heightForRowAtIndexPath для каждой отдельной ячейки. Я думал, что вся цель reloadRowsAtIndexPaths заключается в том, что она будет вызывать только heightForRowAtIndexPath для конкретной указанной вами строки?iOS UITableView reloadRowsAtIndexPaths
Любая идея, почему?
[self.messageTableView beginUpdates];
[self.messageTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:count inSection:0]] withRowAnimation:UITableViewRowAnimationNone];
[self.messageTableView endUpdates];
Спасибо
вы пробовали используя только .. [self.messageTableView reloadRowsAtIndexPaths: [NSArray arrayWithObject: [NSIndexPath indexPathForRow: count inSection: 0]] withRowAnimation: UITableViewRowAnimationNone]; –
Вы имеете в виду вместо того, чтобы обернуть его в beginUpdates и endUpdates? Да, я пробовал это, и он по-прежнему пытается переделать высоту для каждой отдельной ячейки. На самом деле раздражает, поскольку я ожидаю, что он вызовет heightForRowAtIndexPath только для этой конкретной ячейки. – Jesse
Правильно ли я полагаю, что для этой ячейки нужно только назвать heightForRowAtIndexPath? Или он снова вызывает этот метод для каждой ячейки таблицы? – Jesse