Как получить размер контента UITableView? - PullRequest
0 голосов
/ 30 января 2019

Мне нужно найти размер содержимого табличного представления, потому что мне нужно увеличить высоту таблицы в зависимости от количества строк.Я использовал автоматическое измерение табличного представления для автоматического увеличения содержимого ячейки на основе высоты ячейки.Таким образом, я использовал, чтобы найти размер содержимого таблицы после полной загрузки табличного представления, тогда мы можем настроить размер табличного представления.

Я использовал приведенный ниже код для получения размера содержимого табличного представления,

  Print(tableview.contentSize)

, ноэто дает неправильный размер.Итак, я исследовал некоторые ссылки, затем обнаружил, что https://forums.developer.apple.com/thread/81895. В этой ссылке вы можете увидеть, что Apple говорит, что нам нужно указать приблизительную высоту таблицы как 0, чтобы получить правильный размер содержимого табличного представления.Но это снова дает неправильный размер контента.Например,

табличное представление загружает 5 строк, а размер размера содержимого равен 100.0, но это дает только 80.0.Я не знаю, как найти точный размер содержимого табличного представления.Не могли бы вы помочь в этом?

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Вы должны создать выход для ограничения высоты tableView и переопределить updateViewConstraints () внутри вашего UIViewController.

override func updateViewConstraints() {
tableHeightConstraint.constant = tableView.contentSize.height
super.updateViewConstraints()

}

Спасибо

0 голосов
/ 30 января 2019

Если у вас есть UIView наследующее UIScrollView, вы можете легко получить обновленный contentSize в viewDidLayoutSubviews.

override func viewDidLayoutSubviews() {
    debugPrint("Updated Contensize \(tableView.contentSize)")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...