单元格高度不会增加,具体取决于表格视图中的标签文本 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