2012-01-19 10 views
0

テーブルビューに5つのセルがあります。ユーザは、セルのアクセサリにマークを付けるように設定する行を選択できます。複数の行を選択できます。UITableViewのチェックマークアクセサリのロジックが必要

1つのセルに常にチェックマークが付いていることを確認します。これどうやってするの?デフォルトでは、すべての行にチェックマークが付きます。ここで

didSelectRow

で私が使用するコード
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
     UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 

     if (cell.accessoryType == UITableViewCellAccessoryNone) { 
      cell.accessoryType = UITableViewCellAccessoryCheckmark; 
     } else { 
      cell.accessoryType = UITableViewCellAccessoryNone; 
     } 
     [self.tableView deselectRowAtIndexPath:iIndexPath animated:YES]; 
} 

答えて

1

tableView:willDeselectRowAtIndexPath:を実装しています。要素が1つしか選択されていない場合は、nilを返して、テーブルが選択を解除できないことを示します。

+0

私は上記の新しいコードを追加しました。私が持っているdidSelectCodeに基づいて、私はどのようにdeselectメソッドを使用しますか? – Jon

+0

'[[tableView indexPathsForSelectedRow] count] <2' –

+0

セルがチェックされているかどうかを調べる必要があります。それは常に同じセル数になります。変数は、セルがチェックされているかどうかです。 – Jon

関連する問題