如何在一个ViewController中刷新preferredStatusBarStyle两次或更多次

Mar*_*age 2 xcode colors statusbar ios9

我的旧代码:

- (void)setStatusBarLight:(BOOL)value {
    if (value) {
        [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    } else {
        [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
    }
}
Run Code Online (Sandbox Code Playgroud)

现在不推荐使用setStatusBarStyle.Apple说,我应该使用preferredStatusBarStyle.但这只召唤一次.但在我的选项中,状态栏必须在此视图控制器中的某些用户操作后更改颜色.

我能做什么 ?

Mar*_*age 12

这是一个解决方案:

[self setNeedsStatusBarAppearanceUpdate];
Run Code Online (Sandbox Code Playgroud)

并在Info.plist 中将基于控制器的状态栏外观设置为YES