我有一个UITableViewCell,在Storyboard中绘制。
但是,在模拟器上运行它,似乎每个单元格分隔符中都有白线以及标题单元格分隔符。
A是UITableViewCell中的标题
A11 - A13是UITableViewCell中的内容
如何删除它?我似乎找不到任何答案。
更新
解决方案here仅将分隔线颜色向左移动而没有边距,并使标题分隔符保持不变。有没有办法在不移动分隔线的情况下去除标题和单元格的白色?
答案 0 :(得分:2)
您只需选择将tableview的Separator设置为“None”即可。然后继承UITableviewCell并通过将一个CALayer作为子层添加到awakeFromNib的单元格来创建边框。
答案 1 :(得分:0)
使用Swift 4.X并采用最快的黑客方法,您可以使用扩展程序来改进代码:
extension UITableViewCell {
var isSeparatorHidden: Bool {
get {
return self.separatorInset.right != 0
}
set {
if newValue {
self.separatorInset = UIEdgeInsetsMake(0, self.bounds.size.width, 0, 0)
} else {
self.separatorInset = UIEdgeInsetsMake(0, 0, 0, 0)
}
}
}
}
然后,当您配置单元格时:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "identifier", for: indexPath)
switch indexPath.row {
case 3:
cell.isSeparatorHidden = true
default:
cell.isSeparatorHidden = false
}
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath)
if cell.isSeparatorHidden {
// do stuff
}
}