在 IOS 7 中将状态栏颜色设置为黑色

Posted

技术标签:

【中文标题】在 IOS 7 中将状态栏颜色设置为黑色【英文标题】:set Status Bar Color as Black in IOS 7 【发布时间】:2014-08-31 12:54:30 【问题描述】:

在我的应用中,我设置了导航栏的图像。

但我想将状态栏设置为默认黑色,就像 ios6 一样。

我的代码如下:

NSString *ver = [[UIDevice currentDevice] systemVersion];
    int ver_int = [ver intValue];
    NSString* toReturn=@"";
       toReturn = @"logo_bar.png";
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:toReturn] forBarMetrics:UIBarMetricsDefault];

帮我解决这个问题。

【问题讨论】:

How to change Status Bar text color in iOS 7. 的可能重复项 【参考方案1】:

查看是否加载检查操作系统版本是否为 7 或更高版本。 然后在视图控制器的顶部添加背景颜色为黑色且高度为黑色的 uiview。

【讨论】:

【参考方案2】:

只需添加以下代码:

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    
        [[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];
    

【讨论】:

【参考方案3】:

如果您的图片尺寸为 320x64,请尝试使用尺寸为 320x44 的图片。我希望这会有所帮助。

【讨论】:

【参考方案4】:

在里面做

- (void)viewDidLoad
  [super viewDidLoad];

  [self.navigationController.navigationBar
        setBackgroundImage:[UIImage imageNamed:@"logo_bar.png"]
        forBarMetrics:UIBarMetricsDefault];

  //...

或尝试将其设置为 AppDelegate#didFinishLaunchingWithOptions 方法中的所有导航栏

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"logo_bar.png"]forBarMetrics:UIBarMetricsDefault];

确保您遵守Creating Resizable Images 的规则

【讨论】:

【参考方案5】:

首先,将 info.plist 中的基于控制器的状态栏外观更改为 YES。 然后使用

-(UIStatusBarStyle)preferredStatusBarStyle 
     return UIStatusBarStyleDefault;

【讨论】:

以上是关于在 IOS 7 中将状态栏颜色设置为黑色的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 7 上将状态栏内容颜色设置为白色

iOS 7:如何在一个视图控制器中将状态栏文本颜色更改为白色,在第二个视图控制器中更改为黑色?

自定义 iOS 7 状态栏文本颜色

在 iOS 7 中为 uinavigation 栏设置色调颜色而不中断栏按钮项目 [重复]

ios7 statusBar的字体颜色怎么设置为白色的呢

如何在iOS 7上更改状态栏背景颜色和文本颜色? Warif Akhand Rishi