Подтвердить что ты не робот

Быстрая динамическая высота ячейки таблицы

У меня есть таблица с прототипом ячейки, в ячейке у меня есть изображение и немного текста под. Текстовая метка - одна строка в ячейке прототипа, но иногда это больше, чем одна строка, я загружаю данные в табличное представление после вызова сервера. Ярлык в строке раскадровки имеет значение 0 и перевод строки в перенос слов. Я также попробовал http://candycode.io/automatics-resizing-uitableviewcells-with-dynamic-text-height-using-auto-layout/

но без эффекта. Если я использую использование Auto Layout в UITableView для динамических макетов ячеек и переменных высот строк, все работает, потому что текст метки предопределен, но я загружаю данные с сервера и перезагружаю tableView после вызова API, а затем метка просто одна линия.

4b9b3361

Ответ 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
}