IOS Swift 5 为动态高度 TableView 单元格添加自定义 TableViewCell 分隔符



我正在根据单元格的内容创建一个动态高度的TableViewCell。 我想在单元格之间创建一个自定义分隔符。 我在 TableViewCell swift 文件中有以下代码。 自定义分隔符似乎是使用单元格的默认高度创建的,而不是基于单元格内容的计算单元格高度 - 这是在 TableView heightForRowAt 覆盖函数中计算的。 因此,客户分隔符将跨单元呈现。 似乎在高度计算之前调用了 awakeFromNib。 有什么建议吗?

class FeedTableViewCell: UITableViewCell { 
override func awakeFromNib() {
super.awakeFromNib()
// add a custom seperator between table view cells.
let screenSize = UIScreen.main.bounds
let separatorHeight = CGFloat(10.0)
let additionalSeparator = UIView.init(frame: CGRect(x: 0, y: self.frame.size.height-separatorHeight, width: screenSize.width, height: separatorHeight))
additionalSeparator.backgroundColor = UIColor(named: "TEXTVIEWCELL_SEPARATOR")
self.addSubview(additionalSeparator)
}
}

在高度计算之前调用 awakeFromNib。 虽然该解决方案适用于固定高度的 TableViewCells,但它不适用于可变高度的 TableViewCells。 我使用的解决方案是在 TableViewCell 的底部创建一个视图,使用约束将其固定到 TableViewCell 的底部。 您可以将视图大小调整为 10pt,当然还可以设置颜色。 我在故事板中执行此操作,而不是以编程方式执行此操作。

最新更新