我正在以编辑模式使用tableview。我正在使用复选标记多选方法,正如您在内置邮件编辑模式的iOS中看到的那样-也链接了here

我的问题是,当选择一个单元格时,背景会更改为默认的tintColor。

我的预期结果是tableViewCell onSelect填充了选中标记,但不更改背景色。

我尝试将selectionStyle更改为.none,这使它无法在编辑模式下完全选择单元格。我也尝试过更改选定的背景视图,但没有成功。

open override func viewWillLoad(withData data: Any!) {
    self.view.backgroundColor = .gray
    self.tableView = UITableView()
    self.tableView.setEditing(true, animated: true)
    self.tableView.delegate = self
    self.tableView.dataSource = self
    self.tableView.allowsMultipleSelection = true
    self.tableView.allowsSelectionDuringEditing = true

    self.view.addSubview(tableView)
}

public func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
    return UITableViewCellEditingStyle.init(rawValue: 3)!
}

public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    // dequeueing my cell here

    cell.textLabel?.text = data[indexPath.row]
    // cell.selectionStyle = ????

    return cell
}


除了创建自定义按钮之外,还有其他方法可以实现吗?

最佳答案

您可以在情节提要中删除突出显示的颜色。
ios - TableView编辑模式:删除默认的选定背景色-LMLPHP

选择选择为无

您也可以通过代码删除该颜色

cell.selectionStyle = .none

10-07 17:43