iOS 5でUIAppearanceを使用して、カスタムUINavigationBarを作成しています。次のコード(AppDelegate.m内)を使用して、すべてのナビゲーションバーに同じ背景を与えます
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"NavBarNoText.png"] forBarMetrics:UIBarMetricsDefault];
1つのTableViewControllerに対して1つのnavbar"NavBarWithText.png"を使用できるようにしたいのですが、上記のTableViewControllerを除く他のすべてのナビゲーションバーの背景としてNavBarNoText.pngを使用しています。これが可能かどうか誰かが知っていますか?Instagramがそのようなことをしていて、ホームタブが他のすべてのタブとは異なるナビゲーションバーを使用していることを私は知っています。
これを各クラスのViewDidLoadメソッドで個別に使用しようとしましたが、機能しないようです。最初は単一のビューの背景が異なりますが、ビューを切り替えると共通の背景に戻ります。
-(void)viewDidLoad
{
[super viewDidLoad];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"NavBarWithText.png"] forBarMetrics:UIBarMetricsDefault];
}
シングルビューの場合
-(void)viewDidLoad
{
[super viewDidLoad];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"NavBarNoText.png"] forBarMetrics:UIBarMetricsDefault];
}
他のすべてのビューについて。