2015-10-13 132 views
1

我在iOS应用程序中实现了一个导航栏,我将浅色设置为白色,但是在运行应用程序时,状态栏不遵循浅色,并且只是透明(请参阅图片)。我的目标是让状态栏具有半透明的风格。无法更改状态栏的样式

如何解决这个问题?

enter image description here

+0

[更改状态栏样式IOS 7?(可能的重复http://stackoverflow.com/questions/19447137/ changing-status-bar-style-ios-7) –

回答

4

要更改状态栏颜色在所有Viewcontrollers,添加到您的info.plist

<key>UIStatusBarStyle</key> 
<string>UIStatusBarStyleLightContent</string> 
<key>UIViewControllerBasedStatusBarAppearance</key> 
<false/> 

那么干净,运行生成。

有关设置状态栏的颜色特定ViewControllers添加在info.plist中

<key>UIViewControllerBasedStatusBarAppearance</key> 
<true/> 

而且在视图控制器的viewDidLoad方法调用此方法如下:

[self setNeedsStatusBarAppearanceUpdate]; 

而且添加以下方法在ViewController中:

- (UIStatusBarStyle)preferredStatusBarStyle 
{ 
    return UIStatusBarStyleLightContent; 
} 

干杯:]

+0

它只是将状态栏的文本设置为白色。它仍然是透明的 –

+0

参考此:http://stackoverflow.com/questions/19063365/how-to-change-the-status-bar-background-color-and-text-color-on-ios-7 –

+0

有多个答案,只需要通过。让我知道它是否有帮助。 :) –

2

你已经试过了吗?

UIApplication.sharedApplication().statusBarStyle = .LightContent 
2

试试这个

[self setNeedsStatusBarAppearanceUpdate];//add it in view didload 

- (UIStatusBarStyle) preferredStatusBarStyle { 
     return UIStatusBarStyleLightContent; 
    } 

检查链接下一add the view in status bar 检查 link