我想隐藏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/