我正在 Swift
中使用 Tableview
现在我遇到了 tableview 单元格高度的问题。我正在聊天屏幕上工作,所以我有文本、图像。所以我拿了一个原型(prototype)单元来管理屏幕。
现在下面是我的高度代码
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if msg_type == "Image" {
return 150
}else if msg_type == "Text"{
return UITableViewAutomaticDimension
}
}
所以文本单元没有达到我的预期,但在这里我不知道我的错误在哪里,还有一件事,如果我返回 UITableViewAutomaticDimension
它对于文本消息而不是图像工作正常。
请帮助我提前致谢。
最佳答案
像这样动态调整高度
1-将其放入 viewDidLoad
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 150.0;
2- 在 cellForRow 中返回单元格之前
cell.layoutSubviews()
cell.layoutIfNeeded()
3-在单元 xib 或 Storyboard原型(prototype)中从上到下正确 Hook 约束
所以,无论是包含固定高度图像的单元格(如您想要的 150 )还是多行文本,它都会正确布局
4-不要实现 heightForRowAt
关于ios - 如何动态设置tableview单元格高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48113552/