0

UINavigationControllerで戻るボタンを作成して表示するためのコードは次のとおりです。

UIBarButtonItem *backButton = [[UIBarButtonItem alloc] init];
backButton.title = @"Home";
self.navigationItem.backBarButtonItem = backButton;

これはiOS5では完全に機能しましたが、iOS6にアップグレードしてからは機能しません。

すべての可能性を確実に処理するために、このコードを、、、およびに配置しました。つまりviewDidLoadviewDidAppear3viewWillAppearつの異なるメソッドに配置しましたが、まだ表示されません。これは明らかにrootViewControllerのdidSelectRowAtIndexPathメソッド(他のviewControllerにナビゲートしているメソッド)にもあります。

rootViewControllerのバナー/ヘッダーにもカスタムグラフィックがあります。

// Banner Code:
bannerImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
[bannerImageView setImage:[UIImage imageNamed:@"logo-banner@2x.png"]];    
[self.navigationController.navigationBar addSubview:bannerImageView];

しかし、繰り返しになりますが、これはiOS 5で完全に機能し、戻るボタンと競合しませんでした。しかし今、私は戻るボタンなしでバナー/ヘッダーグラフィックを取得しています。

最後の注意点:戻るボタンは、あるべき空のスペースをクリックすると一瞬表示されます。ですから、そこにありますが、本来あるべき空のスペースをクリックするまで、それを見ることができません。その後、一瞬表示されますが、アプリは1画面戻るため、すぐに消えます。とても奇妙です。

手がかりはありますか?

4

1 に答える 1

1

カスタムヘッダーグラフィックが非表示の戻るボタンと関係があると想定するのは正しいです(ヘッダー画像を削除すると、戻るボタンが再び表示されることに注意してください)。

iOS 5より古いファームウェアをサポートしていない場合はsetBackgroundImage:forBarMetrics:、ヘッダーの背景をカスタマイズするために使用します。

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

@2x画像名に含まれていないことに注意してください。アプリは、画像の標準バージョンと網膜バージョンのどちらを自動的に使用するかを認識します。)

于 2012-10-26T15:26:35.107 に答える