中途运行时以编程方式更改iOS7状态栏颜色?

Luk*_*uke 5 objective-c statusbar ios7

我正在尝试在运行中更改状态栏颜色,即不在加载控制器时.我更改了视图的背景颜色,因此我需要将其从黑色更改为白色,反之亦然.

我知道我可以使用preferredStatusBarStyle和plist中的设置更改它,但据我所知,它只会在首次启动视图控制器时设置它.我想改变它,例如,当我按下按钮时.

我能这样做吗?

Bal*_*ari 24

添加bool以确定UIStatusBar颜色状态并添加Toggle方法

@property(nonatomic) BOOL black;


-(void)toggleStatuSBar:(id)sender{

    if(black) {
        [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
        black = NO;

    }else {
        [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];
        black = YES;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是一个Sample ScreenShot

  • 菜单关闭时,颜色为白色.

    在此输入图像描述

  • 菜单打开时颜色为黑色

    在此输入图像描述

希望有所帮助.

  • @Arcrammer:当API运行良好时,我在一年多前回答了原帖.最好编辑答案并添加新的api代码. (2认同)