我正在一对一聊天。因此,我要发送的文本在表格视图的背景下以灰色显示在图像视图的背景中。宽度合适,但高度没有根据文本进行调整...
有一个名为configure cell的函数,该函数每次都会被调用。
func configureCell(_ message: ChatMessage) {
self.roundCorners(corners: [.topLeft, .bottomLeft, .bottomRight], radius: CGFloat(Constants.Chat.corenerRadius))
print("messageBackground.awakeFromNib: \(messageBackground.bounds)")
messageTextLabel.text = message.text?.text
messageTimeLabel.text = message.information?.composed?.toString(withFormat: Constants.Chat.timeFormat)
if let image = message.information?.status.image {
messageStatus.image = image
if (message.text?.text?.contains("offline"))! {
print("message.information?.status: \(String(describing: message.information?.status.rawValue))")
}
}
}
函数roundcorners
的给出方式为
func roundCorners(corners: UIRectCorner, radius: CGFloat) {
let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
let mask = CAShapeLayer()
mask.path = path.cgPath
messageBackground.layer.mask = mask
messageBackground.clipsToBounds = true
messageBackground.layer.shouldRasterize = true
messageBackground.layer.masksToBounds = true
messageBackground.sizeToFit()
}
这里出了什么问题..?
答案 0 :(得分:0)
您在使用这个
tableView.rowHeight = UITableView.automaticDimension
此外,请确保将背景视图固定在单元格的底部。下面是一个粗略的示例,不确定您的单元格布局是什么样。
这里还有一个教程,展示了如何自动调整UITableViewCell的大小 https://www.raywenderlich.com/8549-self-sizing-table-view-cells
希望有帮助。