单元格高度不会增加,具体取决于表格视图中的标签文本 swift
Cell height is not increasing depend on the label text in tableview swift
我需要根据消息标签文本更改单元格高度
Cell.Xib Design img
对于消息标签我已经给定了约束条件
trailing = leading = top = 10, height => 30 (greater then or equal to height)
并且行数 = 0
现在标签在增加,但单元格没有增加,为什么?
o/p
o/p img
代码:
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
我需要根据消息标签文本更改单元格高度
Cell.Xib Design img
对于消息标签我已经给定了约束条件
trailing = leading = top = 10, height => 30 (greater then or equal to height)
并且行数 = 0
现在标签在增加,但单元格没有增加,为什么?
o/p
o/p img
代码:
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