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

时间:2014-07-10 08:21:04

标签: ios iphone objective-c ios7 statusbar

在我的应用程序中,我设置了navigationBar的图像。

但我想将状态栏设置为defaultBlack为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];

帮我解决这个问题。

5 个答案:

答案 0 :(得分:2)

在视图中加载检查OS版本是否为7或更高版本。 然后添加uiview,背景颜色为黑色,高度位于视图控制器的顶部。

答案 1 :(得分:0)

只需添加以下代码:

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

中完成
- (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

的规则

答案 4 :(得分:0)

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

-(UIStatusBarStyle)preferredStatusBarStyle {
     return UIStatusBarStyleDefault;
}