ナビゲーションバーに背景画像とタイトルが必要です。画像の場合、カテゴリを記述します。
@implementation UINavigationBar(MyNavigationBar)
- (void)setBackgroundImage {
UIImageView *aTabBarBackground = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"navBarBackgrd.png"]];
[self addSubview: aTabBarBackground];
[self sendSubviewToBack: aTabBarBackground];
[aTabBarBackground release];
}
@end
AppDelegateでこのカテゴリを呼び出し、アプリケーション全体に背景画像があります。
[navigationController.navigationBar setBackgroundImage];
すべてのViewControllerにはタイトルがあります。
[self setTitle:@"MyTitle"];
しかし、背景画像を設定した後、タイトルに問題があります。
すべての作品の最初のビューでは、背景画像とタイトルが表示されます:-)しかし、次のビューでは、タイトルが消えます。背景画像のみが表示されます。たぶん、タイトルは画像の下にありますか?
技術的には、両方を表示することは可能です。このトリックでそれは機能します:
次のViewControllerを開く前に、ナビゲーションバーを非表示にします。
[self.navigationController setNavigationBarHidden:YES];
次のViewControllerにナビゲーションバーを表示します。
[self.navigationController setNavigationBarHidden:NO];
これで、画像とタイトルが表示されますが、このソリューションは最適ではありません;-)