【问题标题】:Separator lines appearing around UITableViewCell on select/highlight in iOS8在 iOS8 中选择/突出显示时出现在 UITableViewCell 周围的分隔线
【发布时间】:2015-02-22 10:27:42
【问题描述】:

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

tableView.separatorStyle = UITableViewCellSeparatorStyle.None

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

箭头所示的线条突出显示。单元格颜色的变化是有意的。任何在正确方向上的帮助将不胜感激。我使用 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

【问题讨论】:

    标签: ios uitableview swift ios8


    【解决方案1】:

    我假设您正在覆盖 setSelected 和 setHighlighted?

    self.selectedBackgroundView.hidden = true
    

    为我工作。

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

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

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

    【讨论】:

      【解决方案2】:

      您能说说您是如何在细胞中制作这样的背景的吗?在我看来,它不是选择线,它只是整个灰色背景,在部分或突出显示时出现在您的单元格黑色背景视图下。您可以使用调试视图异端或只是覆盖这两个函数:

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

      【讨论】:

      • 嗨,Alex,我已经编辑了问题以添加有关如何设置 tableView 背景颜色和单元格背景颜色的详细信息。
      • 您是否尝试在我的回答中覆盖上述方法?
      • 是的,刚刚做了。覆盖这两个函数会导致当我点击单元格并消失时这些行会暂时出现。但并没有完全摆脱它。还发现如果我将shouldHighlightRowAtIndexPath设置为false,那么它确实达到了去除线条的效果,同时也去除了颜色变化对单元格选择的影响。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-19
      • 2016-01-18
      • 2023-03-26
      • 2015-04-05
      • 2011-10-29
      • 1970-01-01
      • 2020-03-13
      相关资源
      最近更新 更多