1

(デフォルト値)に設定されたUITableViewControllerサブクラスを使用しています。clearsSelectionOnViewWillAppearYES

で自動的に選択解除されたときに、選択解除されたセルに変更を加えるにはどうすればよいviewWillAppear:ですか?

4

1 に答える 1

3

tableView:didDeselectRowAtIndexPath:サブクラスviewWillAppear:でセルが自動的に選択解除された場合は呼び出されません。UITableViewController

この場合、次のコードを使用して選択解除を変更します。

- (void) viewWillAppear:(BOOL)animated {
    // HACK: Need to be called before super if the selection is cleared on viewWillAppear. 
    UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:self.tableView.indexPathForSelectedRow];
    // Change the cell
    [super viewWillAppear:animated];
}

通常、 を使用するdeselectRowAtIndexPath:animated:と、tableView:didDeselectRowAtIndexPath:は呼び出されません。

于 2012-08-09T15:04:42.830 に答える