用户点击按钮时如何取消选择UITableView单元格?

时间:2017-08-03 17:46:56

标签: swift uitableview

我正在开展一个项目,我必须选择一个特定的单元格。我可以在UITableView中选择一个单元格,但是当用户点击按钮时,我想要取消选择所有单元格-RESET-<我的意思是按钮动作>所以我不知道怎么做。我需要帮助。

我选择单元格的代码:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    //changer la couleur de la cellule à la selection
    let selectedCell:UITableViewCell = tableView.cellForRow(at: indexPath as IndexPath)!
    selectedCell.contentView.backgroundColor = UIColor.darkGray

    if !Array( addObject.dictionnary.values)[indexPath.row] {
        addObject.dictionnary[Array( addObject.dictionnary.keys)[indexPath.row]] = true
    } else {
        addObject.dictionnary[Array( addObject.dictionnary.keys)[indexPath.row]] = false
    }
    tableView.reloadData()
}

3 个答案:

答案 0 :(得分:4)

以下是一个快速的代码段,可能会引导您找到正确的方向。

@IBAction func onResetButtonTouchUpInside(sender: AnyObject) {
     if let selectedIndexPaths = tableView.indexPathsForSelectedRows {
          for indexPath in selectedIndexPaths {
                tableView.deselectRow(at: indexPath, animated: true)
          }
     }
}

答案 1 :(得分:0)

您可以使用

 tableView.deselectRow(at: tableView.indexPathForSelectedRow!, animated: true)

答案 2 :(得分:0)

我一直在寻找这个,并在Link to Apple Docs找到了一些来自Apple的文档,但是它显示了将其致电给ViewWillAppear。 Xcode不喜欢它,因此经过更多研究,终于发现这是放置它的地方

tableView.deselectRow(at: indexPath, animated: true)

之内
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {