У меня есть прокрутка UITableView в UIScrollView. Я установил размер кадра UITableView в его размер содержимого.
Когда я добавляю строку в UITableView, я вызываю insertRowsAtIndexPaths:withRowAnimation: на UITableView. Затем я вызываю метод для изменения размера кадра UITableView:
- (void)resizeTableViewFrameHeight
{
// Table view does not scroll, so its frame height should be equal to its contentSize height
CGRect frame = self.tableView.frame;
frame.size = self.tableView.contentSize;
self.tableView.frame = frame;
}
Кажется, что contentSize в данный момент не обновляется. Если я вручную вычисляю фрейм в указанном выше методе на основе количества строк и разделов, то метод работает правильно.
Мой вопрос: как я могу получить UITableView, чтобы обновить его contentSize? Полагаю, я мог бы назвать reloadData, и это, вероятно, сделало бы это, но кажется неэффективным перезагрузить всю таблицу, когда я просто вставляю одну ячейку.