选定后如何将UITableView单元格分隔符设置为“无”

时间:2018-11-30 00:18:45

标签: ios swift uitableview

我正在使用来自.xib的自定义单元格处理UITableView。我在.xib的顶部和底部添加了蓝色边框,以在单元格之间提供自定义的间距。我不想在单元格之间使用分隔符,因此在情节提要中将 Separator 设置为 None 。这就是它给我的外观。

enter image description here

这很好,直到我选择一个单元格为止,此时我看到了这一点(注意所选单元格上方和下方的白色分隔符):

enter image description here

我在cellForRowAt函数中使用此代码将所选单元格的颜色设置为白色,但这似乎也迫使分隔符为白色:

let selectedView = UIView()
selectedView.backgroundColor = .white
cell.selectedBackgroundView = selectedView

我试图弄清楚如何在选择单元格时删除分隔线。我已经在情节提要和代码中尝试了几种方法,但没有找到任何可行的方法。例如:

  • 我不能使用cell.selectionStyle = .none,因为我希望选中的单元格背景变为白色。
  • 从viewDidAppear调用tableView.separatorColor = UIColor.clear
  • 时,它不会改变任何内容
  • 我在这里尝试了Avinash的答案Hide separator line on one UITableViewCell,但它没有做任何事情。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

尝试更改tableView.separatorColor = tableView.backgroundColor 并将表格样式设置为分组

答案 1 :(得分:0)

我发现此解决方案对我有用。

我将cellForRowAt函数中的代码更改为纯色:

let selectedView = UIView()
selectedView.backgroundColor = .clear
cell.selectedBackgroundView = selectedView