アプリケーション全体で UINavigationController の戻るボタンを置き換えようとしています。私の要件は、この戻るボタンを 1 つの XIB で定義し、可能であればそれを設定するコードを 1 つの場所に配置することです。
プロパティをビューとしてカスタムボタンを持つ UIBarButtomItem に設定するさまざまなメソッドを見てきました。self.navigationItem.backBarButtonItem
[[UIBarButtonItem alloc] initWithCustomView:myButton];
私が最初に考えたのは、すべての UINavigationControllers に「ViewDidLoad」を実装し、このプロパティを設定するグローバル カテゴリを作成することでした (それが用語かどうかはわかりません。ご想像のとおり、私は Objective-C を初めて使用します)。私の問題は、実行時に作成したこのボタンに XIB をロードすることです。
これを行うためのきちんとした方法について提案がある人はいますか (それは一般的なことだと思います。すべての画面でコードを繰り返すことは想像できません)。サブクラスの作成を検討しましたがUINavigationController
、これが ViewDidLoad のカスタム実装にどのように影響するかわかりませんでした。
アドバイスをいただければ幸いです。また、iOS4 以上をターゲットにする必要があります (外観 API は iOS5 のみです)。