swift-如何在UITableVIew中将“多项选择”设置为true时设置选择颜色

时间:2018-07-19 08:53:16

标签: ios swift

如果将“多项选择”设置为true,则颜色将变为您为触摸的每个单元格指定的颜色。

但是我想要的是将“多重选择”设置为true,然后仅将触摸单元的颜色更改为其余颜色,将其他颜色更改为白色。

可以这样做吗?

这是我正在申请的来源。

class CustomCell: UITableViewCell {

@IBOutlet weak var btnCheck: UIButton!

override func layoutSubviews() {
    super.layoutSubviews()
}

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

    if selected {
        contentView.backgroundColor = UIColor.blue
        btnCheck.isSelected = true
        self.isUserInteractionEnabled = false
    } else {
        contentView.backgroundColor = UIColor.white
        btnCheck.isSelected = false
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码执行此操作: 它对我有用

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        guard  let cell : KichenListTableViewCell = tableView.cellForRow(at: indexPath) as? KichenListTableViewCell else {
            return
        }
        cell.backgroundColor = UIColor.red
    }

func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
    guard  let cell  : KichenListTableViewCell = tableView.cellForRow(at: indexPath) as? KichenListTableViewCell else {
        return
    }
    cell.backgroundColor = UIColor.white
}

希望对您有帮助。谢谢