为什么我的状态栏(尽管设置为“黑色不透明”)在我更改navigationController背景颜色时变为灰色?

时间:2013-07-28 21:13:18

标签: ios objective-c uiview navigationcontroller

在我的应用中,我将状态栏的样式设置为应用程序目标中“摘要”下的“黑色不透明”。但是,当我用self.navigationController.view.backgroundColor = self.view.backgroundColor;更改navigationController的背景颜色时,颜色突然变为灰色。

在:

enter image description here

之后:

enter image description here

这是为什么?我该怎么做才能防止这种情况发生?

尽管它在应用程序摘要中被设置为黑色不透明,但是当我对其进行NSLog时它表示半透明。为什么呢?

2 个答案:

答案 0 :(得分:3)

您应该禁用状态栏着色。从iOS 6.0发行说明:

  

现在可以在应用的Info.plist文件中设置状态栏色调参数。您可以这样做以确保状态栏颜色在启动期间与应用程序的导航栏颜色匹配。要设置状态栏色调,请将UIStatusBarTintParameters键添加到Info.plist文件中。此键的值是一个字典,其中包含描述应用启动时导航栏的相应值。字典里面应该是UINavigationBar键,它的值也是字典。该字典包含初始导航栏的样式(使用样式键)并指示它是否是半透明的(使用半透明键)。您还可以指定导航栏的色调颜色(使用TintColor键)或其自定义背景图像的名称(使用BackgroundImage键)。

答案 1 :(得分:0)

的呻吟声。我的AppDelegate正在将其改为半透明。