Размер содержимого UITableView не подходит

У меня есть UITableView для отображения списка сообщений чата. Я использую 5 разных типов с динамической высотой. Минимальная высота ячейки от 20 до maxHeight (примерно 1000 пикселей). Динамическая высота ячейки представления UITable задается параметром «self.messageTableView.rowHeight = UITableViewAutomaticDimension».

  1. Какой должна быть общая высота строки оценки.
  2. После перезагрузки размер содержимого UITableView не получается должным образом. Если пользователь прокручивает, размер содержимого увеличивается.

person BalKrishan Yadav    schedule 16.11.2017    source источник
comment
рассчитайте высоту вашей ячейки в - (void) tableView: (UITableView *) tableView willDisplayCell: (UITableViewCell *) ячейка forRowAtIndexPath: (NSIndexPath *) indexPath   -  person Milan Manwar    schedule 16.11.2017
comment
Как рассчитать высоту, будет отображаться, когда я полностью использую функцию автоматической компоновки.   -  person BalKrishan Yadav    schedule 16.11.2017


Ответы (2)


Недостаточно просто установить для rowHeight автоматический размер. Вам также необходимо установить правильные ограничения для подвидов ячеек, чтобы ячейка могла вычислять свою высоту на основе этих ограничений.

person kirander    schedule 16.11.2017
comment
Пожалуйста, предоставьте скриншоты и код методов делегата uitableview - person kirander; 16.11.2017

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

1 - Начальные, конечные, верхние и нижние ограничения в ячейку добавляются правильно и не создают конфликтов.

2 – Добавьте cell.layoutIfNeeded() в метод cellForRowAt UITableViewDelegate.

3. Вы можете указать любую высоту в качестве предполагаемойRowHeight, 44 является значением по умолчанию, но вы также можете указать 20 (ваш минимум).

person Mansi    schedule 16.11.2017