如何pipe理状态栏显示/隐藏嵌套控制器
我想隐藏iPhone的顶部状态栏。 我可以在我的控制器上添加下面的代码来做到这一点。 它工作,如果我的父母控制器有这个代码。 但是我想要的是让我的嵌套控制器隐藏状态栏。 如果我添加这个代码在我的嵌套控制器,它的作品产生任何效果。 怎么可以在我的嵌套控制器?
override func prefersStatusBarHidden() -> Bool { return true }
在你的父母:
Objective-C的
- (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
。
在子setNeedsStatusBarAppearanceUpdate
中调用setNeedsStatusBarAppearanceUpdate
来让系统知道当前状态栏的外观是无效的,并且prefersStatusBarHidden
状态栏prefersStatusBarHidden
需要被系统再次调用。
正如Kymer指出的,正确的做法是重载childViewControllerForStatusBarHidden
:
override var childViewControllerForStatusBarHidden: UIViewController? { return childViewControllers.last }
- 无法用参数列表调用filter'((_) – > _)'
- 自定义Googleloginbutton – iOS
- Error“Thread 1:EXC_BAD_INSTRUCTION(code = EXC_I386_INVOP,subcode = 0x0)”是什么意思?
- Lazy init在Swift中的@objc类中的variables
- 如何把这个目标c traitCollection翻译成swift?
- 创buildCocoa Touch框架时,我可以使用CocoaPods吗?
- 如何在swift iOS中与facebook分享图片+文字?
- 无法使用types为“(NSMutableURLRequest,(_,_,_)throws – > _”)的参数列表调用“dataTaskWithRequest”
- 谷歌分析电子商务价值并没有在谷歌分析控制台更新