点击UITableViewCell时如何在单元格上隐藏和显示复选标记?

时间:2015-09-26 17:13:06

标签: swift uitableview

我正在开发一个像清单一样的UITableView。我需要在点击UITableViewCell时显示复选标记,并在再次点击UITableViewCell时隐藏复选标记。我已经尝试了this解决方案但由于var checked = [Bool]()部分我无法构建。我怎么能用另一种方式解决呢?

修改 我已将下面的代码添加到cellForRowAtIndexPath

if checked == true {
            cell.accessoryType = .None
            checked = false
        } else if checked == false {
            cell.accessoryType = .Checkmark
            checked = true
        }

2 个答案:

答案 0 :(得分:2)

我用这个:( Swift 3)

    func tableView(_ tableView: UITableView, didSelectRowAtIndexPath indexPath: IndexPath)
    {
        if let cell = tableView.cellForRow(at: indexPath) {
            if self.selectedIndexPaths.contains(indexPath)
            {
                cell.accessoryType = .none
                self.selectedIndexPaths.remove(indexPath)
            }
            else
            {
                cell.accessoryType = .checkmark                    
                self.selectedIndexPaths.add(indexPath)
            }
            // anything else you wanna do every time a cell is tapped
        }    
    }

答案 1 :(得分:1)

  • data-value类型的checked属性添加到您的模型中。
  • Bool中根据属性设置复选标记。
  • 点击单元格切换属性并重新加载单元格或表格视图。