Ios 选中并取消选中同一UITableViewCell
我需要取消选中表格视图中的单元格。就像复选框一样,一旦我按下某个单元格,它将保持选中状态,如果我再次按下同一单元格,它将保持未选中状态。可能吗 我所发现的只是一些取消选择单元格的方法Ios 选中并取消选中同一UITableViewCell,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我需要取消选中表格视图中的单元格。就像复选框一样,一旦我按下某个单元格,它将保持选中状态,如果我再次按下同一单元格,它将保持未选中状态。可能吗 我所发现的只是一些取消选择单元格的方法 [table deselectRowAtIndexPath:NSIndexPath animated:YES]; 但这没用 upd: 我不需要检查许多单元格,如果点击选定单元格,我只需要取消选中单元格,如果点击其他(未选中)单元格,则选中的单元格应将状态更改为未选中(默认情况下,单元格中的单元格已工作)在加载数据
[table deselectRowAtIndexPath:NSIndexPath animated:YES];
但这没用
upd:
我不需要检查许多单元格,如果点击选定单元格,我只需要取消选中单元格,如果点击其他(未选中)单元格,则选中的单元格应将状态更改为未选中(默认情况下,单元格中的单元格已工作)在加载数据源的位置 这样做 要选择/取消选择,请在表中执行此操作视图:didselect
if ([[arrSelected objectAtIndex:indexPath.row] boolValue] == YES) {
[arrSelected replaceObjectAtIndex:indexPath.row withObject:[NSNumber numberWithBool:NO]];
}
else{
[arrSelected replaceObjectAtIndex:indexPath.row withObject:[NSNumber numberWithBool:YES]];
}
最简单的方法,但不是最好的: 在didSelectRow中,在设置AccessoryType之前,您只需调用:
[tableView reloadData];
这将取消选择所有行所有行,然后检查currentCell
在cellForRow中,将单元格的accesoryType设置为none
ios swift
一,。默认情况下,所有单元格都处于非活动状态,因此将单元格存储在字典中
var indexPathCheckmark = [Int: Bool]()
// set all the values initally false for check mark
for var index = 0 ; index < self.listOfOldApps.count ; index++ {
self.indexPathCheckmark[index] = false
}
可能重复检查这个答案,它应该有帮助-AllowsMultipleSelection@Andrea我不需要检查很多单元格,如果点击选中的单元格,我需要取消选中单元格,如果点击其他(未选中的)单元格,选中的单元格应将状态更改为未选中状态,但仅在添加[tableView reloadData]时有效;如果([[arrSelected-replaceObjectAtIndex:indexPath.row]boolValue]==YES){[arrSelected-replaceObjectAtIndex:indexPath.row withObject:[NSNumber-numberWithBool:NO]];[tableView-reloadData];}
ios swift
var indexPathCheckmark = [Int: Bool]()
// set all the values initally false for check mark
for var index = 0 ; index < self.listOfOldApps.count ; index++ {
self.indexPathCheckmark[index] = false
}
// set a check marker for all cell required
let cell = tableView.cellForRowAtIndexPath(indexPath)
if (indexPathCheckmark[indexPath.row] == false) {
indexPathCheckmark[indexPath.row] = true
cell?.accessoryView = UIImageView(image: UIImage(named: "done-active"))
} else {
indexPathCheckmark[indexPath.row] = false
cell?.accessoryView = UIImageView(image: UIImage(named: "done"))
}