Быстрая динамическая высота ячейки таблицы
У меня есть таблица с прототипом ячейки, в ячейке у меня есть изображение и немного текста под. Текстовая метка - одна строка в ячейке прототипа, но иногда это больше, чем одна строка, я загружаю данные в табличное представление после вызова сервера. Ярлык в строке раскадровки имеет значение 0 и перевод строки в перенос слов. Я также попробовал http://candycode.io/automatics-resizing-uitableviewcells-with-dynamic-text-height-using-auto-layout/
но без эффекта. Если я использую использование Auto Layout в UITableView для динамических макетов ячеек и переменных высот строк, все работает, потому что текст метки предопределен, но я загружаю данные с сервера и перезагружаю tableView после вызова API, а затем метка просто одна линия.
Ответы
Ответ 1
Вы должны использовать UITableViewAutomaticDimension
, чтобы предоставить решение для отображения динамического содержимого.
Используйте код ниже в viewDidLoad
:
tableView.estimatedRowHeight = YourTableViewHeight
tableView.rowHeight = UITableViewAutomaticDimension
Подробнее здесь
Надеюсь, это поможет.:)
Ответ 2
убедитесь, что ограничение высоты UILabel не будет постоянным, если оно должно быть постоянным, установите Relation больше или равным из инспектора атрибутов
убедитесь, что высота строки UITableViewestimate установлена в соответствии с вашим.
self.TableName.estimatedRowHeight = 85
и написать в классе UITableViewCell
Cell.lbl_name.sizeToFit()
Cell.lbl_name.numberOfLines = 0
Убедитесь, что ваш метод UITableViewDelegate
func tableView(tableView: UITableView,
heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
return UITableViewAutomaticDimension
}