繁体   English   中英

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

[英]IOS Swift 5 Add Custom TableViewCell Separator for Dynamic Height TableView Cell

我正在根据 Cell 的内容创建一个动态高度 TableViewCell。 我想在单元格之间创建一个自定义分隔符。 我在 TableViewCell swift 文件中有以下代码。 似乎自定义分隔符是使用单元格的默认高度创建的,而不是基于单元格内容计算的单元格高度 - 这是在 TableView heightForRowAt 覆盖 function 中计算的。 结果,客户分隔符在单元格中呈现。 似乎在高度计算之前调用了 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,当然还可以设置颜色。 我在 StoryBoards 中做到了这一点,而不是以编程方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM