带有可重用组件的Swift UITableViewCell

时间:2018-05-11 08:37:04

标签: swift uitableview

我正在尝试使用可重用的组件以编程方式编写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,整个“卡”定义一切正常,但我没有可重复使用的组件。
有人有想法或使用这样的设计吗?

0 个答案:

没有答案