当存在导航栏(NavgationBar)时,在ViewController中控制状态栏Style不起作用,此时需要在NavgationController中实现下边方法:
- (UIViewController *)childViewControllerForStatusBarStyle {
return self.topViewController;
}
然后在子控制器中重写以下方法来控制StatusBar的Style:
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleDefault;
}
当更改Style后需要即时刷新时调用:
[self setNeedsStatusBarAppearanceUpdate];