Вот версия 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, и вернуть ее в этом переопределенном методе.