8

多くの場合、次のコードを使用して、テーブル ビュー セルを初期選択状態に設定する必要があります。

[self.tableView selectRowAtIndexPath:indexPath 
   animated:NO scrollPosition:UITableViewScrollPositionNone];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
[cell setSelected:YES];
cell.accessoryType = UITableViewCellAccessoryCheckmark;

両方の方法のどちらがプログラムでセルを選択するのに適しているかを完全には理解していないため、同時に使用selectRowAtIndexPath:indexPathしています。setSelected:YES

どのステートメントを使用する必要があり、その理由は?

4

2 に答える 2

8

あなたが使いたい方法は だと思いますselectRowAtIndexPath:animated:scrollPosition:。通常、セル状態の管理はテーブル ビューに任せるべきです。選択の場合、選択されたインデックス パスのセットを保存および維持するため、別のセルが再利用された後も適切な行が選択されたままになります。両方のメソッドを呼び出す必要もありません。単純に冗長です。

于 2013-02-17T11:51:38.940 に答える