我正在尝试使用可重用的组件以编程方式编写UITableViewCell,我将其称为“卡片”。
“卡片”使用AutoLayout。
我创建了一个UITableViewCell类:
operationKey
我在控制器中创建单元格
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
let card = NoticeCardView()
contentView.addSubview(card)
card.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 5).isActive = true
card.leftAnchor.constraint(equalTo: contentView.leftAnchor, constant: 5).isActive = true
card.rightAnchor.constraint(equalTo: contentView.rightAnchor, constant: -5).isActive = true
card.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: -5).isActive = true
}
func setValues(notice : Notice) {
card.setValues(notice: notice)
}
结果是“卡片”被正确渲染,但“单元格”保持原始高度44,即UITableViewAutomaticDimension设置的值。
如果我放入UITableViewCell,整个“卡”定义一切正常,但我没有可重复使用的组件。
有人有想法或使用这样的设计吗?