childViewControllerForStatusBarHidden用于隐藏

时间:2015-06-04 15:18:59

标签: ios statusbar drawer

我试图隐藏一半的状态栏。具体来说,我正在使用REFrostedViewController作为我的侧抽屉,当它出来时,我希望它能够覆盖这个图片中的状态(应用程序是谷歌的收件箱)。

enter image description here

UIViewController的当前层次结构如下:

- REFrostedViewController
 |--MenuViewController
 |--NavigationControler
    |--ContentViewController

我将UIViewControllerBasedStatusBarAppearance设置为YES。在我的抽屉菜单(MenuViewController)中,我有方法

- (BOOL)prefersStatusBarHidden
{
    return YES;
}

在我的导航控制器中,我有:

- (UIViewController *)childViewControllerForStatusBarHidden {
    return self.frostedViewController.menuViewController;
}

这会隐藏所有屏幕中的状态栏。当我做的时候

- (UIViewController *)childViewControllerForStatusBarHidden {
    if (self.isDrawerOpen) 
    {
        return self.frostedViewController.menuViewController;
    } else {
        return self.frostedViewController.contentViewController;
    }
}

它崩溃了。 self.frostedViewController.contentViewController包含一个navigationController(也实现了prefersStatusBarHidden方法)

0 个答案:

没有答案