Я хочу рассчитать размер содержимого моего UITableView
. Я использую autolayout с высотой UITableViewAutomaticDimension
.
Пытался получить [UITableView contentsize]
после перезагрузки tableview, в этом случае высота рассчитывается на основе estimatedRowHeight
.
self.tableView.estimatedRowHeight = 50;
self.tableView.rowHeight = UITableViewAutomaticDimension;
Делегат -
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewAutomaticDimension;
}
Попытка получить размер содержимого и назначить его ограничению высоты.
[self.tableView reloadData];
[self.tableView layoutIfNeeded];
self.tableHeightConstraint.constant = self.tableView.contentSize.height;
Какие-либо предложения? Заранее спасибо.
Редактировать:
Наконец, я решил свою проблему с некоторой настройкой. Я изменил высоту таблицы до макс (в моем случае 300 макс.), Прежде чем перезагружать данные в таблице, поэтому в таблице есть пространство для изменения размера всех ячеек.
self.tableHeightConstraint.constant = 300;
[self.tableView reloadData];
[self.tableView layoutIfNeeded];
self.tableHeightConstraint.constant = self.tableView.contentSize.height;
Спасибо за помощь.