Вот версия Swift (до iOS9):
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
}
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: UIStatusBarAnimation.None)
}
Это также работает (iOS7 +):
override func prefersStatusBarHidden() -> Bool {
return true
}
Вам также необходимо позвонить:
setNeedsStatusBarAppearanceUpdate()
в скажем viewDidLoad()
.
Обратите внимание, что если вы используете контроллер SplitView или другой container
контроллер представления, вам также нужно, чтобы он возвращал ваш класс при его отправке childViewControllerForStatusBarHidden
. Один из способов сделать это - иметь публичную слабую переменную, скажем statusController
, и вернуть ее в этом переопределенном методе.