取消选中“已检查的单元格”

时间:2014-12-21 19:14:30

标签: ios xcode uitableview swift

我创建了一个简单的tableview,您可以在其中检查已完成的任务。此特定属性的代码如下所示:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    let mySelectedCell: UITableViewCell = tableView.cellForRowAtIndexPath(indexPath)!
    mySelectedCell.accessoryType = UITableViewCellAccessoryType.Checkmark
    mySelectedCell.tintColor = UIColor.blackColor()


}

问题是我检查后无法取消选中这些单元格。有谁知道如何添加这个属性?

任何关于如何进行的想法都将不胜感激。

编辑:我现在知道需要一个if语句,但我不知道如何检查我的单元格是否已经被检查过。

2 个答案:

答案 0 :(得分:4)

如果你只想做一个关于美学的简单......

if (mySelectedCell.accessoryType = UITableViewCellAccessoryType.Checkmark) {
    mySelectedCell.accessoryType = UITableViewCellAccessoryType.None
}
else {
    mySelectedCell.accessoryType = UITableViewCellAccessoryType.Checkmark
}

如果你想根据一个属性来做...

if (!myValue[indexPath.row].value) { // if the BOOL is NO
    mySelectedCell.accessoryType = UITableViewCellAccessoryType.None
}
else {
    mySelectedCell.accessoryType = UITableViewCellAccessoryType.Checkmark
}

答案 1 :(得分:0)

您无法取消选中它,因为它在每次调用而不是交替时都会分配复选标记。使用if语句查看是否已选中并在附件类型之间切换checkmark和none。