タブ内にナビゲーションコントローラがあり、その中にコントローラを表示するタブ付きアプリケーションがあります。それらのすべては同じナビゲーションコントローラナビゲーションバーを使用します:戻るボタン+ロゴ画像。現在、私はすべてのビューコントローラでこのコードを配置することだ:すべてのナビゲーションコントローラとビューコントローラにカスタムナビゲーションバー(title + titleView)を設定するにはどうすればよいですか?
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.title = @"Back";
UIImage *headerImage = [UIImage imageNamed:@"Logo.png"];
self.navigationItem.titleView = [[[UIImageView alloc] initWithImage:headerImage] autorelease];
}
は私見それはそれを行うための最善の方法ではありません。私はUIViewControllerのカテゴリを使用し、viewDidLoadメソッドをオーバーライドすることを考えていますが、すべてのView ControllerはviewDidLoadで実行するいくつかの追加コードを持っていますので、オーバーライドはソリューションではないと思います。他の方法は何ですか?
iOS 5をターゲットに設定していますか? iOSでは、これらの値をグローバルに設定できます(appDelegateなど)。 –
現在、nop :)しかし、私はiOS 5でこれを行う方法を教えてください... – Centurion
UIAppearanceを見てください:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIAppearance_Protocol /Reference/Reference.html私は答えとして少しの例を書いた。それがあなたのために働くかどうか私に教えてください。 –