3

NavigationController内で、第2レベルのコンテンツテーブルビューコントローラーに戻るボタンを再実装して、第1レベルのコンテンツテーブルビューコントローラーに戻る前に追加のメソッドを呼び出したいと思います。この方法では、自己実装のデリゲートにメッセージを送信して、第1レベルのコンテンツビューコントローラーに、第2レベルのコンテンツビューコントローラーで行われた変更について通知します。その後、通常どおりViewControllerをポップします。

私が実装した最初のレベルのコントローラーのdidSelectRowAtIndexPathで:

SecondController *secondController = [[SecondController alloc] initWithNibName:@"Second" bundle:nil];
[secondController setDelegate:self];
UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithTitle:@"test" style:UIBarButtonItemStyleDone target:secondController action:@selector(didPressBack:)];
[[self navigationItem] setBackBarButtonItem:button];
[(UINavigationController*) self.parentViewController pushViewController:secondController animated:YES];
[secondController release];

したがって、第2レベルの戻るボタンには「テスト」テキストが表示されますが、secondControllerのdidPressBack:は呼び出されません。

または、第2レベルのコントローラーに戻るボタンを再実装する別のアプローチはありますか?

4

0 に答える 0