我的大多数单元格都需要一个UITableViewCell分隔符,但其中一些应该被隐藏。
设置方式为self.tableView.separatorStyle
,适用于每个单元格。
严厉的解决方法是禁用它,然后手动将其作为UIView绘制到单元格上,但我不想去那里。
如何以其他方式删除单个单元格的分隔符?
答案 0 :(得分:1)
您可以拥有自定义单元格并在此单元格中添加分隔符,这样您就可以管理单元格分隔符。或者您可以addSubView
UIView
作为您的单元格的分隔符,例如 iPatel' 答案,但请注意内存问题。
答案 1 :(得分:0)
对不需要ReUseIdentifier
的单元格使用不同的separatorStyle
。不要在此单元格中绘制任何内容。
答案 2 :(得分:0)
添加自定义视图作为分隔符需要做很多工作。除了添加属性,设置约束等之外,您还需要担心匹配默认分隔符的颜色和线宽(1.0 / view.window.screen.scale
,因此它只有一个像素高,而不是一个点)。
使用默认分隔符视图更容易,并通过设置insets来隐藏它。例如,打开表的分隔符,然后在UITableViewCell
子类中执行以下操作:
var showsSeperator: Bool = true {
didSet {
let leftInset: CGFloat
if showsSeperator {
leftInset = layoutMargins.left
} else {
leftInset = 1000 // Out of site.
}
separatorInset = UIEdgeInsets(top: 0, left: leftInset, bottom: 0, right: 0)
}
}