iOS8中选择/突出显示在UITableViewCell周围的分隔线

时间:2015-02-22 10:27:42

标签: ios uitableview swift ios8

我有一个非常简单的UITableView,我将分隔符插入样式设置为none:

tableView.separatorStyle = UITableViewCellSeparatorStyle.None

运行应用程序我得到了我期望的单元格之间没有线条。但是,当我选择其中一个表格视图单元格时,它周围会出现白线。为什么会这样,我可以改变它的外观吗?屏幕截图如下:

enter image description here enter image description here

箭头所示的线条出现在高光上。细胞颜色变化是有意的。我们非常感谢任何正确方向的帮助。我使用iOS 8.1作为XCode 6.1.1的目标

我已将背景颜色设置如下。 在viewDidLoad中:

tableView.backgroundColor = UIColor.blackColor()
tableView.alpha = 0.8
tableView.separatorStyle = UITableViewCellSeparatorStyle.None

在cellForRowAtIndexPath中:

thisCell.contentView.backgroundColor = UIColor.blackColor()
thisCell.contentView.alpha = 0.85

2 个答案:

答案 0 :(得分:5)

我假设你重写了setSelected和setHighlighted?

self.selectedBackgroundView.hidden = true

适合我。

我花了一段时间才找到解决方案。这是我为单元格找到的视图层次结构:

0: class: 'UITableViewCellSelectedBackground'
0: class: 'UITableViewCellContentView'    
0: class: '_UITableViewCellSeparatorView'

UITableViewCellSelectedBackground正在设置背景。然后使用ContentView覆盖背景。

答案 1 :(得分:0)

请问你是如何在细胞中创造这样的背景的?在我看来,这不是选择线,它只是整个灰色背景,出现在你的细胞黑色背景视图,而部分或突出显示。你可以使用调试视图异端或只是覆盖这两个函数:

  1. func setSelected(selected: Bool, animated: Bool)
  2. func setHighlighted(highlighted: Bool, animated: Bool)