我创建了一个简单的tableview,您可以在其中检查已完成的任务。此特定属性的代码如下所示:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let mySelectedCell: UITableViewCell = tableView.cellForRowAtIndexPath(indexPath)!
mySelectedCell.accessoryType = UITableViewCellAccessoryType.Checkmark
mySelectedCell.tintColor = UIColor.blackColor()
}
问题是我检查后无法取消选中这些单元格。有谁知道如何添加这个属性?
任何关于如何进行的想法都将不胜感激。
编辑:我现在知道需要一个if语句,但我不知道如何检查我的单元格是否已经被检查过。答案 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。