У меня есть прокрутка 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
, и это, вероятно, сделало бы это, но кажется неэффективным перезагрузить всю таблицу, когда я просто вставляю одну ячейку.