0

NavigationController に埋め込まれた ViewController を使用して、NavigationBar をカスタマイズし (コード内の背景画像を変更)、ボタンをクリックすると、ユーザーが別のビューに正しく移動します。しかし、このビューに到達したときにNavBarの画像を変更することはできません...私はこれを書き込もうとしました:

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"otherBackground.png"] forBarMetrics:UIBarMetricsDefault];

IBAction メソッドでは、メインの ViewController の ViewDidUnload と、他の ViewController の ViewDidLoad および initWithNibName で、前の画像は何も変更されません。私に何ができる ?

私の IBAction は次のとおりです。

- (IBAction) versModeEmploi : (id) sender
{
    if(!modeEmploi) modeEmploi = [[ModeEmploiController alloc] initWithNibName:@"ModeEmploiController" bundle:nil];
    UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Retour" style:UIBarButtonItemStylePlain target:nil action:nil];
    self.navigationItem.backBarButtonItem = backBarButtonItem;
    [self.navigationController pushViewController:modeEmploi animated:NO];
}

アドバイスをありがとう

4

3 に答える 3

1

非常にばかげた質問 (別名、「オフにしてからもう一度オンにしようとしましたか?」):

「埋め込みビュー」から第 2 ビューにどのように移行しましたか? 次のようになります。

[self.navigationController pushViewController:detailViewController animated:YES];

そうでない場合は、self.navigationController2 番目のビューで有用なものを指し示すことはありません。

よろしく、クリス

于 2012-05-25T11:08:51.433 に答える
1

最初のView Controllerでこれを試してください:

[[UINavigationBar appearance] setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
于 2012-05-25T11:15:38.723 に答える
1

誰かがソリューションに興味を持っている場合は、これを使用して問題を解決する必要がありました:

[self.navigationController.navigationBar setNeedsDisplay];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"nav.png"] forBarMetrics:UIBarMetricsDefault];

これは、必要に応じて viewDidAppear/Disappear メソッドを追加することです。

于 2012-05-25T19:24:04.483 に答える