iOS的状态栏改变颜色,以自身相匹配的导航栏(iOS Status Bar changing col

2019-08-18 06:59发布

我在我的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;

对于RootViewController的我的IB文件只是有一个空的观点。

没有什么不寻常。 我敢与iOS经历,这就是如何我已经做了每一次。 我不知道有什么不同,这一次。

可能有人请告诉我? 谢谢

Answer 1:

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

要做到这一点,使用setStatusBarStyle:animated:在您的应用程序的实例:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque 
                                            animated:NO];


Answer 2:

在iOS中6.0状态栏改变颜色相匹配的导航栏,如果有一个。 这是预期行为。



Answer 3:

添加以下代码:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque;

这会让你的状态栏再度被黑。

你应该改变你的导航栏的颜色添加。



文章来源: iOS Status Bar changing color to match navigation bar on its own