1

iOS 6 用のカスタム UINavigationBar 画像背景を実装しようとしていますが、うまくいきません。表示されるのは、Apple の通常のものだけです (戻るボタンはありません)。viewDidLoad 内で次のコードを試しました(一度に1つ):

[[UINavigationBar appearance] setBackgroundImage:myImage forBarMetrics:UIBarMetricsDefault];

[self.navigationController.navigationBar setBackgroundImage:myImage forBarMetrics:UIBarMetricsDefault];

私は次の方法で望ましいビューを提示しています:

optionViewController *choose= [[optionViewController alloc] initWithNibName:@"optionViewController" bundle:nil];
UINavigationController *aNavController = [[UINavigationController alloc] initWithRootViewController:choose];
[self presentViewController: aNavController animated:YES completion:nil];

どんな助けでも大歓迎です。ありがとう!

4

2 に答える 2

2

この方法でナビゲーションバーのカスタム画像を設定できます:-

        optionViewController *choose= [[optionViewController alloc] initWithNibName:@"optionViewController" bundle:nil];
        UINavigationController *aNavController = [[UINavigationController alloc] initWithRootViewController:choose];
        UIImage *image = [UIImage imageNamed:@"imageName"];
        [aNavController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

        [self presentModalViewController:aNavController animated:YES]; //change here to PresentViewcontroller to presentmodelViewcontroller

こちらが画像です:-

ここに画像の説明を入力

上の画像では、Backボタンはデフォルトのものではありませんが、プログラムによって実行されています。

于 2013-01-02T10:11:49.670 に答える
1

これを試して、

if([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) {
    //iOS 5 new UINavigationBar custom background
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbg_ForiPhone5_Imagename.png"] forBarMetrics: UIBarMetricsDefault];
} else {
    [self.navigationController.navigationBar insertSubview:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"navbg_ForOtherIphone_Imagename.png"]] atIndex:0];
}

および情報については、このリンクにアクセスしてください

于 2013-01-02T10:34:09.250 に答える