我正在使用动态高度单元来实现聊天页面功能。
table.rowHeight = UITableView.automaticDimension
table.estimatedRowHeight = 120
例如,我对单元格进行如下约束:
imageV.snp.remakeConstraints { (make) in
make.leading.equalTo(contentView).offset(inset)
make.top.equalTo(contentView).offset(inset)
make.bottom.equalTo(contentView).offset(-inset)
make.width.equalTo(imageMinW)
make.height.equalTo(imageMinH)
}
首先,我使用占位符图像进行显示,因此一切正常。 但是,我需要从Internet下载真实图像,例如,使用AlamofireImage通过将URL设置为imageview。完成后,将占位符替换为真实图像。我将imageV的约束更改为
imageV.snp.remakeConstraints { (make) in
make.leading.equalTo(contentView).offset(inset)
make.top.equalTo(contentView).offset(inset)
make.bottom.equalTo(contentView).offset(-inset)
make.width.equalTo(calculatedW)
make.height.equalTo(calculatedH)
}
基于真实图像的大小和我设置的boundingSize,计算出的W和H被计算出来。尽管此更改的显示对用户来说效果很好。
但我注意到该日志:可能至少以下列表中的一个约束是您不想要的约束。 .....
由于更改约束时,像元高度已动态计算为固定数字,例如150。更改约束后,高度150无法满足新的约束,因此系统打破了固定高度约束。 / p>
所以我想知道如何解决问题?