現在の UIViewController の backBarButtonItem を介してページを離れるときに、確認の UIAlertView を送信したいと思います。
これを行うために、既存の戻るボタンを新しい UIBarButtonItem に置き換えました。
- (void) setBackButton {
NSArray * viewControllers = self.navigationController.viewControllers;
UIViewController * previousController = [viewControllers objectAtIndex:[viewControllers count]-2];
self.backButton = [[UIBarButtonItem alloc] initWithTitle:previousController.title style:UIBarButtonItemStyleBordered target:self action:@selector(backButtonPressed)];
previousController.navigationItem.backBarButtonItem = self.backButton;
}
したがって、問題は次のとおりです。現在の UIViewController で @selector(backButtonPressed) へのコールバックを取得できないようです。self.navigationItem.leftBarButtonItem に self.backButton を配置すると機能しますが、ボタンは矢印ではなく長方形です。
戻る代わりに @selector(backButtonPressed) メソッドを呼び出すことを可能にする、元の戻るボタンとまったく同じように見えるボタンを取得するにはどうすればよいですか?