iOS 7 过渡指南给出了一个很好的提示,如何在使用中UIStatusBarStyle
动态更改UIViewController
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleDefault;
}
和...一起[self setNeedsStatusBarAppearanceUpdate];
这在单视图应用程序中运行良好。但是,我现在正在尝试将UIStatusBarStyle
模式视图中的 更改为UIStatusBarStyleLightContent
. 有一个MainViewController
which 连接到ModalViewController
,它本身嵌入在 a 中NavigationController
。已将其ModalViewController
委托设置为MainViewController
。
我尝试在该类中与以下方法一起调用,但没有效果[self setNeedsStatusBarAppearanceUpdate];
:ModalViewController
// In ModalViewController.m
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
我还尝试在显示模式视图时调用带有条件的方法[self setNeedsStatusBarAppearanceUpdate];
以返回- 但这也没有效果。MainViewController
prepareForSegue: sender:
- (UIStatusBarStyle)preferredStatusBarStyle {}
UIStatusBarStyleLightContent
如何更改模式视图中的 UIStatusBarStyle?
编辑:更新后:我需要提到的ModalViewController
是嵌入在NavigationController
带有NavigationBar
. 设置为隐藏到NavigationBar
上述调用[self setNeedsStatusBarAppearanceUpdate];
inModalViewController
工作正常。但不是在酒吧可见时。