iOS 7状态栏前景色

时间:2014-08-05 06:54:05

标签: ios ios7

在iOS7中,是否可以将状态栏前景(文本,元素)颜色更改为白色或黑色以外的颜色,而无需使用任何私有API?

2 个答案:

答案 0 :(得分:0)

你试过这个:

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

来自herehere

编辑:

我试过这个,它对我有用:

在您的AppDelegate.m

#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

在您的AppDelegate.m application:didFinishLaunchingWithOptions:方法

[self.yourNavigationController.navigationBar setBarTintColor:UIColorFromRGB(0x067AB5)];

来自here

答案 1 :(得分:0)

如果您希望在整个应用程序中设置状态栏中文本和内容的颜色,您有两个选项。首先,您可以将Info.plist中的UIStatusBarStyle键设置为UIStatusBarStyleLightContent或UIStatusBarStyleDefault。其次,您可以使用UIApplication方法setStatusBarStyle:animated:。要使用此方法,必须将Info.plist中的UIViewControllerBasedStatusBarAppearance键设置为NO。值得注意的是,这种在应用程序运行时可以在应用程序范围内更改UIStatusBarStyle的方法。以下是如何使用此方法的示例。

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

如果要在逐个视图的基础上更改状态栏中文本和内容的颜色,可以利用新的UIViewController方法。要使用此方法,必须将Info.plist中前面提到的UIViewControllerBasedStatusBarAppearance键设置为YES。下面,我已经演示了如何覆盖这个新方法preferredStatusBarStyle来调整状态栏中内容的颜色。

- (UIStatusBarStyle)preferredStatusBarStyle
{
     return UIStatusBarStyleLightContent;
}

来源:http://www.doubleencore.com/2013/09/developers-guide-to-the-ios-7-status-bar/

编辑:(不知道iOS7中是否还可以)

没有直接的方法来更改状态栏颜色。我们可以使用“setStatusBarStyle”属性选择状态栏样式,并从三个可用样式中选择 -

UIStatusBarStyleDefault UIStatusBarStyleBlackTranslucent UIStatusBarStyleBlackOpaque 但是,如果你想改变状态栏的颜色,有一个技巧可以做同样的事情 -

更改UIWindow对象的背景颜色。并将状态栏样式设置为“UIStatusBarStyleBlackTranslucent”。这将设置状态栏的颜色与窗口的背景颜色相同。

将以下代码添加到applicationDidFinishLaunchingWithOptions中的AppDeligate.m文件中 -

self.window.backgroundColor = [UIColor colorWithRed:1.0f green:1.0f blue:1.0f alpha:1];
[application setStatusBarStyle:UIStatusBarStyleBlackTranslucent];

您可以根据需要更改RGB颜色值。

来源:http://beageek.biz/how-to-change-background-color-status-bar-xcode-ios/