2010-11-30 25 views
13

私は自分のアプリに複数のUITableViewを持っていますが、その列でユーザーが選択したセル/行を検出する方法はありますか?UITableViewは選択したセルを検出しますか?

また、セル/行をプログラムで選択解除することはできますか?

ありがとうございました。

答えて

30

は、テーブルの現在選択されているインデックスパスを受ける:

NSIndexPath *path = [tableView indexPathForSelectedRow]; 

選択解除現在選択されている行:

[tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:YES]; 
2
NSIndexPath *path = [tableView indexPathForSelectedRow]; 

何の売りがそのようにNSIndexPathインスタンス変数を使用して、選択したセルを追跡するだけ選択解除ときにそれを選択されていない場合は、上記の行は、EXC BADアクセスがスローされます。

はここでもリンクです実際にはisSelectedセルのプロパティで選択されます。

UITableViewCell *cell = [tableView cellForRowAtIndexPath:someIndexPath]; 
if(cell.isSelected) { 
    [tableView deselectRowAtIndexPath:someIndexPath animated:YES]; 
} 
関連する問題