Автоматическая высота для TextView с использованием автоматического размещения в ячейке для tableView - PullRequest
0 голосов
/ 01 мая 2019

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

enter image description here

я закрепил верхнюю часть представления текста вназвание должности UILabel и нижняя часть представления содержимого (родительского), но оно не работает.Есть ли учебное пособие для этого вида размещения макета?

Как добавить ограничение, чтобы исправить проблему с автоматической высотой?

Текущие ограничения enter image description here

Ответы [ 3 ]

1 голос
/ 16 мая 2019

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

  1. вы можете задать фиксированное ограничение высоты для UITextView.
  2. взять выход из этого ограничения.
  3. обновить его, прежде чем вернуть ячейку из cellForRowAt method.

поэтому ваш метод cellForRowAt будет выглядеть как

tableCell.textViewHeightConstraint = textView.contentSize.height
tableCell.setNeedsUpdateConstraints()
tableCell.setNeedsLayout()
return tableCell
0 голосов
/ 02 мая 2019

Решено таким образом. Измените TextView на UILabel, затем установите свойство Lines в инспекторе атрибутов на 0.

в viewDidLoad

    tableview.rowHeight = UITableView.automaticDimension
    tableview.estimatedRowHeight = 229.0

Работает.

Подробнее https://www.raywenderlich.com/8549-self-sizing-table-view-cells

0 голосов
/ 01 мая 2019

Вы можете применить Ячейки Представления Таблицы Саморазмера, добавив две строки:

tableView.estimatedRowHeight = 85.0
tableView.rowHeight = UITableViewAutomaticDimension

Вы должны прочитать этот документ от Apple: https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithSelf-SizingTableViewCells.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...