【发布时间】:2014-08-05 17:41:12
【问题描述】:
在 iOS7 中,是否可以在不使用任何私有 API 的情况下将状态栏前景(文本、元素)颜色更改为白色或黑色以外的颜色?
【问题讨论】:
-
您可以将状态栏设置为黑色或白色,我认为没有其他方法。 developer.apple.com/library/ios/documentation/UserExperience/…
在 iOS7 中,是否可以在不使用任何私有 API 的情况下将状态栏前景(文本、元素)颜色更改为白色或黑色以外的颜色?
【问题讨论】:
你试过了吗:
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
我试过了,它对我有用:
在您的 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
【讨论】:
如果您想在整个应用程序的状态栏中设置文本和内容的颜色,您有两种选择。首先,您可以将 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 UIStatusBarStyle黑色半透明 UIStatusBarStyle黑色不透明 但是,如果您想更改状态栏的颜色,有一个技巧可以做到这一点 -
更改 UIWindow 对象的背景颜色。并将状态栏样式设置为“UIStatusBarStyleBlackTranslucent”。这会将状态栏的颜色设置为与窗口的背景颜色相同。
将以下代码添加到您的 AppDeligate.m 文件中的 applicationDidFinishLaunchingWithOptions -
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/
【讨论】: