IOS Swift 5 为动态高度 TableView 单元添加自定义 TableViewCell 分隔符
Posted
技术标签:
【中文标题】IOS Swift 5 为动态高度 TableView 单元添加自定义 TableViewCell 分隔符【英文标题】:IOS Swift 5 Add Custom TableViewCell Separator for Dynamic Height TableView Cell 【发布时间】:2020-06-26 03:08:39 【问题描述】:我正在根据 Cell 的内容创建一个动态高度 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)
【问题讨论】:
【参考方案1】:在计算高度之前调用 awakeFromNib。虽然该解决方案适用于固定高度的 TableViewCells,但它不适用于可变高度的 TableViewCells。我使用的解决方案是在 TableViewCell 的底部创建一个视图,使用约束将其固定到 TableViewCell 的底部。您可以将视图大小设置为 10pt,当然还可以设置颜色。我是在 StoryBoards 中完成的,而不是以编程方式。
【讨论】:
以上是关于IOS Swift 5 为动态高度 TableView 单元添加自定义 TableViewCell 分隔符的主要内容,如果未能解决你的问题,请参考以下文章
iOS + Swift 2:UITableViewCell 中的动态高度不适用于空视图
iOS:在 Swift 中动态设置 UITableView 高度
在 iOS Swift 中动态调整 UITableViewCell 高度
如何根据swift 4或5中的图像大小使图像视图高度和宽度(纵横比)动态? [关闭]