我有这样的问题,同时试图创建一个简单的信使。 我来到这里:
class ChatBubleUIView
该班负责创建带有标签的bubleview。它工作正常,根据标签高度计算视图高度
在我的单元格中,我创建了一个内容视图。在单元格类中,我将新的ChatBubleUIView
实例添加为内容视图的子视图。
问题是,内容无法扩展到ChatBubleInstance
的大小。
class ChatMessageTableViewCell: UITableViewCell, MessageCellConfiguration {
var message: Message?
override func awakeFromNib() {
super.awakeFromNib()
}
func configureCell() {
let chatBubleView = ChatBubleUIView(message: message!)
self.addSubview(chatBubleView)
}
}
在我的tableView委托
中 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "messageCell") as! ChatMessageTableViewCell
let data = currentUser.mesaageHistory[indexPath.row]
cell.message = data
cell.configureCell()
return cell
}
此外,我还为tableView
设置了估计的行高 messageTableView.rowHeight = UITableViewAutomaticDimension
messageTableView.estimatedRowHeight = 44
我该怎么做才能设置我的tableView行高度chatViewBubleUIView实例高度。
以前,我使用旧式方法解决了这个问题,以编程方式确定chatViewBubleUIView实例高度,然后实现heightForRowAtIndexPath
。但我想使用AutoLayoaut来做到这一点。
答案 0 :(得分:1)
设置标签的四个约束,例如resources/lang/
,标签的高度数应为top,bottom,leading,trailing
。然后它会根据内容自动增加它的高度。如果您在任何视图中使用此标签,则视图的约束应与我上面提到的标签相同!