Сначала укажите TableView rowHeight до UITableViewAutomaticDimension . Это позволит высота ячейки tableView расти в соответствии с его содержанием:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
или
self.tableView.rowHeight = UITableViewAutomaticDimension
Поскольку сначала легко дать имя, чтобы иметь в своей таблице ViewCell: - ImageView, messageLabel, profileNameLabel и timeLabel.
Шаг1:
Присвойте ограничения ImageView Вверх и Влево для superView ( Просмотр содержимого ) и timeLabel вправо для superView, также выровняйте Center Y в ImageView .
Шаг2:
Теперь посередине задайте ограничение messageLable Сверху на superView , слева на imageView и справа на superView .
Убедитесь, что messageLable номер строки не равен 0.
Step3:
Затем укажите ограничение profileNameLable Top и Leading к messageLable .
Шаг 4:
Так что теперь, чтобы сделать ваш tableViewCell Высота будет расти в соответствии с вашим содержанием (переменная messageLable высота) Присвойте свой profileNameLabel нижний предел больше, чем равный (> = ) ограничениям SuperView ( ContentView ), например, 20
также ImageView дно Более чем равно (> =) ограничения на SuperView ( ContentView ), например, 20. Таким образом, когда messageLabel будет иметь большую высоту будет выдвигать высоту ячейки , и когда она будет иметь нормальную высоту, ячейка будет брать высоту из вашего ImageView.
Терка затем равна (> =) Ограничение (это означает, что всегда нужно поддерживать margin , например, 20 пикселей пространства, чтобы оно могло превышать 20 пикселей, но не меньше этого )