为什么 tableView 单元格不是动态的?

Why is tableView cell not dynamic?

更新:

我发现问题的发生是因为日期标签顶部约束被删除时换行的文本变得可见。问题是日期标签位于其他文本下方。真正的问题可能是细胞没有根据约束动态变化吗?

我正在尝试让 UILabel 中的文本换行(同时我正在尝试根据文本更改单元格)

.xib 中,我设置单元格,这样做:

    self.notifInfoLabel.numberOfLines = 0
    self.notifInfoLabel.lineBreakMode = .byWordWrapping

sizeToFit 在委托方法中返回单元格之前调用。

cell.notifInfoLabel.sizeToFit()//EDIT: turns out this is not needed
    
    return cell
}

配置方法在 viewDidLoad.reloadData()

之前被调用
func configureTableView() {
    self.tableView.estimatedRowHeight = 82
    self.tableView.rowHeight = UITableView.automaticDimension
}

目前,标签中的文本似乎环绕在日期标签下方...

如何让它按预期工作?

您对自动布局引擎的约束令人困惑。

  • 如果文本很小,您需要从图像视图的底部 space,并且

  • 您希望文本动态化,在这种情况下标签应该增长。

解决方法很简单。

Imageview 的底部约束将 = 更改为 >=750优先级

Date 的底部约束将 = 更改为 >=

希望对您有所帮助