在UIStatusBar上设置与UINavigationBar相同的背景颜色

Ram*_*ain 0 objective-c uinavigationbar ios uistatusbar ios7

我希望UIStatusBar在我的应用程序中设置背景颜色,我希望它匹配的背景颜色,和应用程序UINavigationBar相同.FacebookInstagram

我尝试将此函数添加到didFinishLaunchingWithOptions我的方法中AppDelegate:

-(void) setStatusBarColour{

    #define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
    {
        UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0,self.window.rootViewController.view.frame.size.width, 20)];
        view.backgroundColor=[[UIColor lightGrayColor] colorWithAlphaComponent:0.6];
        [self.window.rootViewController.view addSubview:view];
    }
} 
Run Code Online (Sandbox Code Playgroud)

它似乎没有工作.

是否有捷径可寻?

小智 5

在iOS 7上,状态栏的背景颜色继承自导航栏的颜色.所以你可以做这样的事情

[[UINavigationBar appearance] setBarTintColor:[UIColor yellowColor]];

并查看此链接:http://www.appcoda.com/customize-navigation-status-bar-ios-7/