Нет функции tableView:sizeOfAllCells:
, если это то, что вы ищете.Исходя из вашего вопроса, звучит так, как будто вы настраиваете размер таблицы, чтобы вы могли поместить другое содержимое в ее нижнюю часть.
Вы правы, говоря, что вы хотите изменить свойство frame вашего UITableView в соответствии с высотой.
[table setFrame:CGRectMake(0,0,table.frame.size.width,heightOfCells)];
Есть несколько вещей, которые вы могли бы сделать, хотя.Если бы у вас был массив всех ячеек, вы могли бы очень быстро пройтись по нему и добавить высоту каждой из них.Вы можете (хотя я не особенно это рекомендую) зациклить число имеющихся у вас секций и строк, используя tableView:cellForRowAtIndex:
вместо массива ячеек, и получить высоты таким образом.Если каждая ячейка имеет одинаковую высоту (звучит так, как это возможно, это не так), вы можете просто сделать простую математику, чтобы выяснить высоту.Наконец, вы можете сохранить словарь или массив высот и обновить его в tableView:cellForRowAtIndex:
, чтобы при изменении содержимого обновлялся размер, но тогда вам нужно было бы вызвать reloadData
.Это всего лишь несколько идей о способах решения этой конкретной проблемы.