The iOS 7 过渡指南给出一个很好的提示如何改变UIStatusBarStyle
动态地在一个UIViewController
using
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleDefault;
}
和...一起[self setNeedsStatusBarAppearanceUpdate];
这在单视图应用程序中工作得很好。然而,我现在正在尝试改变UIStatusBarStyle
在模态视图中UIStatusBarStyleLightContent
。有一个MainViewController
这继续到ModalViewController
,它本身嵌入在NavigationController
. The ModalViewController
已将其代表设置为MainViewController
.
我试着打电话[self setNeedsStatusBarAppearanceUpdate];
in the ModalViewController
与该类中的以下方法一起使用没有效果:
// In ModalViewController.m
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
我也尝试打电话[self setNeedsStatusBarAppearanceUpdate];
in MainViewController
on prepareForSegue: sender:
方法,条件为- (UIStatusBarStyle)preferredStatusBarStyle {}
回来UIStatusBarStyleLightContent
当呈现模态视图时 - 但这也没有效果。
如何更改模式视图中的 UIStatusBarStyle?
EDIT:帖子更新:我需要提到的是ModalViewController
嵌入在一个NavigationController
with a NavigationBar
. With NavigationBar
设置为隐藏到上面的调用[self setNeedsStatusBarAppearanceUpdate];
in ModalViewController
工作正常。但当栏可见时则不然。