0

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];
}

他のすべてのビューについて。

4

1 に答える 1

0

これを使用しappearanceWhenContainedIn:て、表示されるときに別のナビゲーション バーを表示できます。UITableViewController詳細については、こちらを参照してください。

于 2012-05-24T06:07:26.183 に答える