首页 > 解决方案 > TableViewCell 特定单元格未正确突出显示

问题描述

这是我的主屏幕在此处输入图像描述,当单击单元格突出显示的描述转到下一个视图控制器并且单元格被突出显示时,当我单击未突出显示的单元格时,单元格未突出显示,这意味着只有零索引单元格突出显示没有其他像一个索引第二索引如何突出他人。

我正在尝试在 tableview 中添加突出显示单元格,如下所示:

在此处输入图像描述

但在我的代码中只突出显示第一个单元格意味着零索引

在此处输入图像描述

单击第二个单元格时,第二个单元格未突出显示

如何突出显示选定的单元格?

这是我突出显示代码的功能:

func setHighlighted(_ highlighted: Bool,animated: Bool){
    if commentView != nil{
        UIView.animate(withDuration: 3, animations: {
            self.commentView.backgroundColor = UIColor(displayP3Red: 235/256, green: 187/256, blue: 194/256, alpha: 1.0)
        }) { (completed) in
            if completed {
                UIView.animate(withDuration: 3, animations: {
                    self.commentView.backgroundColor = .clear
                })
            }
        }
    }

标签: iosiphoneswiftuitableview

解决方案


删除setHighlighted该设置背景颜色下的代码。这不是正确的更新方式,可以setSelected在里面使用UITableVIewCell

override func setSelected(_ selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: true)

    if selected {
        // set selected color
    } else {
        // set un-selected color
    }
}

或以下方法

允许从情节提要或通过代码选择多行

tableView.allowsMultipleSelection = true

let selectedBackgroundView = UIView(frame: CGRect.zero)
cell.selectedBackgroundView = selectedBackgroundView

或者

cell.multipleSelectionBackgroundView = selectedBackgroundView

推荐阅读