私はこれを機能させようとしていますが、そのアイデアに頭を悩ませているようには見えません。
これまでのところ、セルを選択してチェックマークを付けることができるようになりました。次に、別のセルを選択すると、前のチェックマークが消え、選択したばかりの新しいセルにテーブルビューが新しいチェックマークを付けます。これはすべて美しく機能します。
ただ、同じセルをチェックマークで選択するとチェックマークが消えないところにしたいです。しかし、そうです!
これを機能させる方法を理解できるかどうかを確認するために、多数の if ステートメントを試しましたが、解決策はわかりません。コードで再配置する必要があるのは、おそらく些細なことです。
これが私のコードです:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if(self.checkedIndexPath)
{
UITableViewCell* uncheckCell = [tableView
cellForRowAtIndexPath:self.checkedIndexPath];
uncheckCell.accessoryType = UITableViewCellAccessoryNone;
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
if([self.checkedIndexPath isEqual:indexPath])
{
self.checkedIndexPath = nil;
}
else
{
cellCheck = [tableView cellForRowAtIndexPath:indexPath];
cellCheck.accessoryType = UITableViewCellAccessoryCheckmark;
self.checkedIndexPath = indexPath;
[tableView deselectRowAtIndexPath:indexPath animated:YES];
NSLog(@"%@", indexPath);
}
}