У меня есть очень простое UITableViewController
, где я хочу установить текст для каждого textLabel
из UITableViewCell
с.
Высота должна быть рассчитана с помощью autolayout.Поэтому в моем viewDidLoad
установите следующие значения для свойств tableView
:
tableView.estimatedRowHeight = UITableViewAutomaticDimension
tableView.rowHeight = UITableViewAutomaticDimension
Это мой метод cellForRow
, в котором я инициализирую UITableViewCell
по умолчанию и устанавливаю текст для его метки.
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell()
cell.textLabel?.numberOfLines = 0
cell.textLabel?.text = "hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello"
return cell
}
Моя проблема в том, что ячейка не будет расти в соответствии с размером метки.Эта проблема появляется только на iOS 10. На iOS 11 все выложено так, как должно.
Пожалуйста, проверьте следующие снимки экрана:
РЕДАКТИРОВАТЬ: 24 мая 2018
Имея только textLabel
, оно будет работать, если есть действительное значение для estimatedRowHeight
.
Но при наличии ячейки со стилем .subtitle
и установке значения descriptionLabel
макет не будет работать.Та же проблема: iOS 10 не работает.iOS 11 работает (размеры ячеек соответствуют обоим меткам).