Я работаю над клиентом, похожим на твиттер, и UITableView предлагает просмотр списка сообщений. Для каждой ячейки может потребоваться загрузка изображения динамического размера, а изображение загружается асинхронно. Таким образом, размер изображения неизвестен при загрузке таблицы.
Возможно ли обновить высоту uitableviewcell после загрузки изображения.
Насколько мне известно, единственный способ обновить высоту - это метод:
- (CGFloat) tableView: (UITableView *) tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath
Но он вызывается только при первой загрузке данных. Это разумно с точки зрения производительности. В любом случае, есть ли способ изменить высоту позже?
Спасибо за любую информацию!
Наконец, я использовал reloadRowsAtIndexPaths для обновления отдельных строк, вы можете попробовать это для скрытых ячеек.
[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:toReloadRows withRowAnimation: UITableViewRowAnimationNone];
[self.tableView endUpdates];
Но при обновлении высоты видимых ячеек ячейка дрожит. Так что лучше рассчитать высоту ячейки раньше.