存在导航栏时iOS状态栏Style控制

当存在导航栏(NavgationBar)时,在ViewController中控制状态栏Style不起作用,此时需要在NavgationController中实现下边方法:

- (UIViewController *)childViewControllerForStatusBarStyle {
    return self.topViewController;
}

然后在子控制器中重写以下方法来控制StatusBar的Style:

- (UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleDefault;
}

当更改Style后需要即时刷新时调用:

[self setNeedsStatusBarAppearanceUpdate];

你可能感兴趣的:(存在导航栏时iOS状态栏Style控制)