【问题标题】:iOS 7 status bar foreground colouriOS 7 状态栏前景色
【发布时间】:2014-08-05 17:41:12
【问题描述】:

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

【问题讨论】:

标签: ios ios7


【解决方案1】:

你试过了吗:

- (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

【讨论】:

    【解决方案2】:

    如果您想在整个应用程序的状态栏中设置文本和内容的颜色,您有两种选择。首先,您可以将 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/

    【讨论】:

    • 这会将状态栏前景色更改为白色。我知道这个。我想知道是否有可能将颜色更改为白色或黑色以外的颜色。比如说“蓝色”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    相关资源
    最近更新 更多