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

Iphone iOS状态栏自行更改颜色以匹配导航栏,iphone,ios,objective-c,cocoa-touch,uinavigationcontroller,Iphone,Ios,Objective C,Cocoa Touch,Uinavigationcontroller,我的AppDelegate中有一个UINavigationController,其中的RootViewController具有UITableView。启动时,状态栏将其颜色更改为导航栏的颜色。当我将导航栏涂成橙色时,状态栏是这样的: 我的导航栏似乎移到了顶部。导航控制器似乎无法识别状态栏。如何解决此问题 我的应用程序中只有一个AppDelegate和一个空的RootViewController。我的应用程序:didFinishLaunchingWithOptions是: 我的RootViewCo

我的AppDelegate中有一个UINavigationController,其中的RootViewController具有UITableView。启动时,状态栏将其颜色更改为导航栏的颜色。当我将导航栏涂成橙色时,状态栏是这样的:

我的导航栏似乎移到了顶部。导航控制器似乎无法识别状态栏。如何解决此问题

我的应用程序中只有一个AppDelegate和一个空的RootViewController。我的应用程序:didFinishLaunchingWithOptions是:

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

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


有人能告诉我吗?谢谢

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

在iOS 6.0中,状态栏会更改颜色以匹配导航栏(如果有)。这是预期的行为。

将状态栏样式设置为UIStatusBarStyleBlack不透明,您应该会得到一个实心的黑色条

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

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

将状态栏样式设置为UIStatusBarStyleBlack不透明,您应该会得到一个实心的黑色条

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

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque 
                                            animated:NO];
添加此代码:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque;
这将使您的状态栏再次变黑

您应该在更改导航栏的颜色后添加此代码。

添加此代码:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque;
这将使您的状态栏再次变黑


您应该在更改导航栏的颜色后添加它。

为什么您会说导航栏以任何方式发生了移动?从你发布的屏幕截图来看,一切看起来都很好。是什么让你说你的导航栏以任何方式被移动了?从你发布的屏幕截图来看,一切看起来都很好。有趣的是,我刚刚决定从5版升级到完整的iOS 6开发版。有什么方法可以推翻这一点吗?当我设置背景图像时,我注意到同样的情况。我刚看了一些应用程序,看到了黑色的状态栏。状态栏通过查看左上角的像素(如果我没记错的话)来分析导航栏的图像/颜色——从该像素的颜色值中导出其颜色。是否没有编程方法来覆盖这一点?彩色状态栏很烦人。我刚刚打开了一些仅适用于iOS 6的应用程序,它们有定制的彩色导航栏和黑色状态栏。有趣的是,我刚刚决定从iOS 5升级到完整的iOS 6开发。有什么方法可以推翻这一点吗?当我设置背景图像时,我注意到同样的情况。我刚看了一些应用程序,看到了黑色的状态栏。状态栏通过查看左上角的像素(如果我没记错的话)来分析导航栏的图像/颜色——从该像素的颜色值中导出其颜色。是否没有编程方法来覆盖这一点?彩色状态栏很烦人。我刚刚打开了一些仅限iOS 6的应用程序,它们有定制的彩色导航栏和黑色状态栏。