我已经在下面的代码中实现了这个。
UITableViewCell *cell = [tableView1 cellForRowAtIndexPath:indexPath];
UITableViewCell *cell2 = [tableView1 cellForRowAtIndexPath:oldIndexPath1];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
cell2.accessoryType = UITableViewCellAccessoryNone;
oldIndexPath1 = indexPath;
但是,如果我选择然后取消选中复选标记,那么我就不能再选中复选标记了。
你可以帮帮我吗?答案 0 :(得分:6)
我认为你混淆了将支票从一个改为另一个的动作以及只切换一个单元格的动作。
假设您只需要一个带有复选标记的单元格,则可以执行以下操作:
+(void)toggleCheckmarkedCell:(UITableViewCell *)cell
{
if (cell.accessoryType == UITableViewCellAccessoryNone)
cell.accessoryType = UITableViewCellAccessoryCheckmark;
else
cell.accessoryType = UITableViewCellAccessoryNone;
}
// tableView:didSelectRowAtIndexPath:
UITableViewCell *cell = [tableView1 cellForRowAtIndexPath:indexPath];
UITableViewCell *cell2 = [tableView1 cellForRowAtIndexPath:oldIndexPath1];
// Toggle new cell
[MyController toggleCheckmarkedCell:cell];
if (cell != cell2) // only toggle old cell if its a different cell
[MyController toggleCheckmarkedCell:cell2];
oldIndexPath1 = indexPath;