iOS状态栏自动更改颜色以匹配导航栏

dar*_*sky 1 iphone cocoa-touch objective-c uinavigationcontroller ios

我的AppDelegate中有一个UINavigationController,它有一个带有UITableView的RootViewController.启动时,状态栏会将其颜色更改为导航栏的颜色.当我将导航栏上色为橙色时,这就是状态栏的样子:

在此输入图像描述

似乎我的导航栏稍微向上移动了一下.导航控制器似乎无法识别状态栏.我该如何解决这个问题?

我在我的应用程序中唯一的东西是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;
Run Code Online (Sandbox Code Playgroud)

我的RootViewController的IB文件只有一个空视图.

没什么不寻常的.我对iOS很有经验,这就是我每次都这样做的方式.我不知道这次有什么不同.

有人可以告诉我吗?谢谢

Til*_*ill 6

设置你的状态栏风格UIStatusBarStyleBlackOpaque,你应该得到一个坚实的黑色条.

为此,请setStatusBarStyle:animated:在应用程序的实例上使用:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque 
                                            animated:NO];
Run Code Online (Sandbox Code Playgroud)