当我需要从数组填充单元格时,setHighlighted无法正常工作

时间:2018-08-21 08:46:20

标签: ios swift

我制作了一个自定义表格视图单元格,在其中按如下方式覆盖setHighlighted函数。

override func setHighlighted(_ highlighted: Bool, animated: Bool) {
    let color = self.shadowView.backgroundColor
    super.setHighlighted(highlighted, animated: animated)
    if highlighted == true {
        self.shadowView.backgroundColor = .lightGray
    } else {
        self.shadowView.backgroundColor = color
    }
}

问题是self.shadowView.backgroundColor每个单元格的所有背景色都从颜色数组中填充。而且,当我启动该应用程序时,颜色是正确的,但是当我按下任何一个单元格时,该颜色都会突出显示,但似乎从未调用过tableView.deselectRow(at:indexPath,animation:true)。

但是当我像这样简单地为每个单元格使用一种颜色时:

override func setHighlighted(_ highlighted: Bool, animated: Bool) {
    super.setHighlighted(highlighted, animated: animated)
    if highlighted == true {
        self.shadowView.backgroundColor = .lightGray
    } else {
        self.shadowView.backgroundColor = .blue
    }
}

然后一切正常,取消选择单元格。

也许有人已经遇到过这样的问题?

0 个答案:

没有答案