在ios中获得正确的状态栏颜色

在ios中获得正确的状态栏颜色,ios,objective-c,cocoa-touch,uinavigationcontroller,Ios,Objective C,Cocoa Touch,Uinavigationcontroller,好吧,我的状态栏着色有点问题。我有一个非常简单的应用程序,可以在两个视图之间移动。我试着用这个代码给导航控制器的状态栏着色 [[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x067AB5)]; 但直到我移除“导航控制器”的状态栏并将状态栏拖到情节提要中,它才起作用。然后我希望状态栏与颜色匹配,所以我删除了导航控制器,它成功了!我认为导航控制器状态栏不允许状态栏正确着色。但是,如果没有导航控制器,我无法添加“推送”序

好吧,我的状态栏着色有点问题。我有一个非常简单的应用程序,可以在两个视图之间移动。我试着用这个代码给导航控制器的状态栏着色

  [[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x067AB5)];
但直到我移除“导航控制器”的状态栏并将状态栏拖到情节提要中,它才起作用。然后我希望状态栏与颜色匹配,所以我删除了导航控制器,它成功了!我认为导航控制器状态栏不允许状态栏正确着色。但是,如果没有导航控制器,我无法添加“推送”序列。这就是导航控制器的外观

这里没有

我不知道解决方案是什么,因为我想我需要导航控制器才能工作。出于某种原因,没有“显示”选项。让我知道我该怎么做。谢谢大家!

Per,(虽然我们现在使用的是iOS 8,但导航栏和状态栏的颜色在默认情况下是相同的。听起来你真的希望它们的颜色相同(这就是你所说的“正确颜色”吗?)

要在故事板中执行此操作,我会将您的第一个UIViewController添加到故事板。单击此UIViewController,转到菜单并单击编辑器->嵌入->导航控制器。现在您将看到导航控制器是初始场景,UIViewController是根视图控制器。然后添加第二个UIViewControllerCtrl从第一个UIViewController拖动到第二个view controller,并创建一个显示(推送)序列


现在要更改UINavigationController的颜色,请单击UINavigationController(第一个场景)。在左侧的大纲中,单击导航栏。在右侧的inspector中,您应该会看到一个导航栏部分,下面有样式和色调。要获得立体外观,您可以选择黑色不透明并将色调颜色更改为您喜欢的颜色。请注意,您的选择将滚动到UIViewController。当您构建应用程序,状态栏现在应该与导航栏的颜色匹配。

您找到解决方案了吗?我遇到了相同的问题。问题是,当您不使用推送顺序,而是使用模式顺序时,状态栏不会推断导航栏的颜色,而是推断ViewController的颜色(我猜),在我的例子中是白色的。所以我看到这样的东西