1

UITableView を持つ RootViewController を使用して、AppDelegate に UINavigationController があります。起動時に、ステータス バーの色がナビゲーション バーの色に変わります。ナビゲーション バーをオレンジ色にすると、ステータス バーは次のようになります。

ここに画像の説明を入力

ナビゲーション バーが少し上にずれているようです。ナビゲーション コントローラーがステータス バーを認識していないようです。この問題を解決するにはどうすればよいですか?

私のアプリにあるのは、AppDelegate と空の RootViewController だけです。私application:didFinishLaunchingWithOptionsは:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
RootViewController *rootViewController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
[navigationController.navigationBar setTintColor:[UIColor orangeColor]];
self.window.rootViewController = navigationController;
[self.window makeKeyAndVisible];
return YES;

RootViewController の IB ファイルには空のビューしかありません。

珍しいことは何もありません。私は iOS の経験が豊富で、毎回そうしてきました。今回は何が違うのかわからない。

誰かが私にアドバイスしてもらえますか?ありがとう

4

3 に答える 3

6

status-bar-style を設定するUIStatusBarStyleBlackOpaqueと、真っ黒なバーが表示されます。

これを行うにはsetStatusBarStyle:animated:、アプリケーションのインスタンスで次を使用します。

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque 
                                            animated:NO];
于 2013-03-29T22:59:05.560 に答える
4

iOS 6.0 では、ステータス バーの色がナビゲーション バーに合わせて変更されます (存在する場合)。これは予期される動作です。

于 2013-03-29T22:51:55.753 に答える
2

次のコードを追加します。

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque;

これにより、ステータスバーが再び黒くなります。

ナビゲーション バーの色を変更した後に追加する必要があります。

于 2013-06-18T23:01:37.117 に答える