1

UITableViewで複数のセルを選択していますが、編集後に自動的に選択解除されます。少し検索すると、「reloadData」と呼ばれるために選択が削除されたと言われていますが、「viewDidAppear」以外の場所ではreloadDataを呼び出していません。何も変更せずに編集をキャンセルした場合でも、選択が解除されます(ツールバーの[編集]ボタンをクリックしてから、編集せずに[完了]ボタンをクリックすると)。これがどこで起こっているのかわかりません。または、編集が終了したとき([完了]ボタンがクリックされたとき)を検出できれば、選択したすべてのセルを再選択できますが、どのように検出できるかわかりません。セルが選択解除されるのを防ぎますか?または、編集後にセルを再選択しますか?

前もって感謝します。

4

3 に答える 3

1

ボタンを押したときに選択と選択解除を実行しようとしていると思います。UITableViewCellで選択の状態を変更しようとしている場合は、ボタンアクションのメソッドを使用してみてください。

-(IBAction) someAction {
    if(buttonToggled){
    [tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
    }else{
    //Do something
    }
}

backgroundColorを変更します。

cell.selectionStyle = UITableViewCellSelectionStyleGray;
cell.selectedBackgroundView.backgroundColor=[UIColor blackColor];

上記の詳細については、リンクを確認してください。

UITableViewセルで選択された色?

于 2012-08-13T09:51:11.083 に答える
0

「完了」ボタンを押すたびに、自分でそれらを再選択するのが最善の策だと思います。

これは通常の状態であるため、セルの選択が解除されたり、ボタンが押されなかったりするのはごく普通のことです。ただし、これを変更する独自のコードを記述した場合を除きます。

行を選択する方法は次のとおりです。

[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];

選択できる行が複数ある場合は、それに応じた設定があることを確認してください。そうしないと、常に最新の行を除くすべての行が選択解除される可能性があります。

于 2012-08-13T05:58:48.353 に答える
0

どうでも。- (void)setEditing:(BOOL)editing animated:(BOOL)animated「編集」または「完了」ボタンがクリックされるたびに呼び出されることがわかりました。

于 2012-08-13T06:53:17.703 に答える