iOS 7 - 隐藏子视图控制器上的状态栏

Edu*_*lho 4 statusbar uiviewcontroller xamarin.ios ios ios7

UIApplication.SharedApplication.SetStatusBarHidden(MonoTouch代码,但也适用于Obj-C)适用于iOS 6,但对于iOS 7,我们必须:

  1. SetNeedsStatusBarAppearanceUpdate ()在视图控制器上调用(例如:显示全屏图像的视图控制器)
  2. 覆盖PrefersStatusBarHidden ()在同一个视图控制器上.

然而,上面提到的视图控制器嵌入在导航控制器中,导航控制器也嵌入在滑出菜单中.即使使用所有嵌入式视图控制器添加到层次结构中AddChildViewController(),尝试更新子视图控制器中的状态栏也无效.

有任何想法吗?


编辑

Window.RootViewController (Menu)
|___ ViewControllerA (Navigation Bar)
     |___ ViewControllerB (Actual View controller)
Run Code Online (Sandbox Code Playgroud)

ViewControllerB想隐藏/显示状态栏

dav*_*sdk 7

ViewControllerA应覆盖childViewControllerForStatusBarHidden并返回ViewControllerB.

- (UIViewController *)childViewControllerForStatusBarHidden {
    return _viewControllerB;
}
Run Code Online (Sandbox Code Playgroud)