Я понимаю, что этот вопрос был задан здесь , но это не решило мою проблему, поскольку ссылка в принятом ответе не работает, а минимальный пример не помог.
Вот изображение моего пользовательского UITableViewCell и всех его ограничений:
![enter image description here](https://i.stack.imgur.com/aUatN.png)
Каждый пост содержит эти элементы пользовательского интерфейса.Единственный элемент, который может изменить высоту каждой ячейки, - это messageView
, поскольку его высота зависит от отображаемой строки.Вопрос в том, как мне динамически установить высоту каждой ячейки?Вот что у меня сейчас (НЕ работает, messageView
вообще не отображается):
func cellForRowAt(indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(...) as! PostCell
let message = ...
cell.messageView.text = message
return cell
}
func heightForRowAt(indexPath: IndexPath) -> CGFloat {
var cellMinimumHeight: CGFloat = 120
if let cell = tableView.cellForRow(at: indexPath) as? PostCell {
let size = cell.messageView.sizeThatFits(cell.messageView.frame.size)
cellMinimumHeight += size.height
}
return cellMinimumHeight
}
в функции heightForRowAt
, if
не выполняется, поэтому высота всех ячеекcellMinimumHeight = 120
.
Как я могу сделать высоту каждой ячейки = 120 + высоту MessageView?
--------------------------------- РЕДАКТИРОВАТЬ 1 ---------------------------------
Ошибка на картинке, высота messageView
не установлена