在我的应用中我有多个视图。我需要隐藏一个视图的状态栏(此vC2按顺序导航C - > VC - >推送到vC2)。它首先通过设置工作
plist中的View controller-based status bar appearance = NO
然后使用
viewWillAppear中的[UIApplication sharedApplication].statusBarHidden = YES;
和viewWillDisappear中的[UIApplication sharedApplication].statusBarHidden = NO;
恢复状态栏。
然后,我想在同一个应用程序中为另一个视图(VC3)设置浅色样式的状态栏。只有一种方式与我合作
通过设置View controller-based status bar appearance = YES
并使用
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
在VC3.m中
我的问题是View controller-based status bar appearance
左右,它使用NO值隐藏状态栏,并使用YES值作为状态栏的灯光样式
我可以在我的应用中组合隐藏/和样式状态栏吗?
我的目标是iOS7
答案 0 :(得分:0)
你可以在viewController中使用这个函数:
- (BOOL)prefersStatusBarHidden {
return YES;
}
plist布尔值必须为YES,您可以添加更多内容:
尝试
[self setNeedsStatusBarAppearanceUpdate]
如果你有视图控制器作为其他viewControllers的子节点,最后一个孩子应该决定
如果VC是另一个VC的子级(这是您子类的第一级VC,如果您使用的是没有子类化的导航则不需要)
- (UIViewController *)childViewControllerForStatusBarHidden {
return _myChildViewController;
}