如何解决单元格高度不增加取决于tableview swift中的标签文本
我需要根据消息标签文本更改单元格高度
对于消息标签,我已经给出了限制
trailing = leading = top = 10,height => 30 (greater then or equal to height)
和行数 = 0
o/p
代码:
func tableView(_ tableView: UITableView,numberOfRowsInSection section: Int) -> Int {
return msgArray.count
}
func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "MessageDetailsTableViewCell",for: indexPath) as! MessageDetailsTableViewCell
self.tableView.separatorStyle = .none
cell.msgLabel.text = msgArray[indexPath.row]
cell.nameLabel.text = nameArray[indexPath.row]
cell.timeLabel.text = timeArray[indexPath.row]
cell.picImageview.image = UIImage(named: "icon12")
return cell
}
func tableView(_ tableView: UITableView,heightForRowAt indexPath: IndexPath) -> CGFloat {
return 100//UITableView.automaticDimension
}
如果我给 heightForRowAt = UITableView.automaticDimension
那么什么都没有,如果我将它的高度固定为 100 那么单元格不会增加,为什么?请帮忙
解决方法
您可以通过两个步骤来简化:
1. heightForRowAt 方法:
func tableView(_ tableView: UITableView,heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
2. UILabel 属性
yourLabel.numberOfLines = 0 // or you can set numberOfLines from storyBoard.
,
为此,您需要按照以下步骤操作。
步骤 1: 将标签的约束设置为前导、尾随、顶部和底部。将底部约束设置为大于等于。
第 2 步:将标签的行数设置为 0。
label.numberOfLines = 0
第 3 步:在 ViewDidLoad 函数中
self.tableView.rowHeight = UITableView.automaticDimension
self.tableView.estimatedRowHeight = 150
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。