prefersStatusBarHidden

prefersStatusBarHidden

我想隐藏iPhone顶部的状态栏。我可以在控制器上添加以下代码来做到这一点。如果我的父控制器具有此代码,则可以使用。但是我想要的是允许我的嵌套控制器隐藏状态栏。如果我将此代码添加到嵌套控制器上,它将起作用。如何在我的嵌套控制器上执行此操作?

override func prefersStatusBarHidden() -> Bool {
    return true
}

最佳答案

在您的父母中:

物镜

- (BOOL)prefersStatusBarHidden {
   if(self.childViewControllers.count > 0) {
     return [self.childViewControllers.lastObject prefersStatusBarHidden];
   }
   return YES;// or any other default value
}

迅速:
override func prefersStatusBarHidden() -> Bool {
  if (childViewControllers.count > 0) {
     childViewControllers.last?.prefersStatusBarHidden()
  }
     return true
}

在您的孩子VC中,调用[self setNeedsStatusBarAppearanceUpdate];,例如viewDidLoad
目的是向子视图控制器(如果有的话)询问其prefersStatusBarHidden

在child中调用setNeedsStatusBarAppearanceUpdate以使系统知道当前状态栏外观无效,并且系统需要再次调用prefersStatusBarHidden

关于ios - 如何在嵌套 Controller 上管理状态栏显示/隐藏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35828673/

10-10 21:32