を無視されて、私はそうのようなMainViewController
を提示しているAuthViewController
を持っている:preferredStatusBarUpdateAnimationが
let mainVC = MainViewContoller()
mainVC.modalTransitionStyle = .CrossDissolve
authVC.presentViewController(mainVC, animated: true, completion: nil)
ので、同じように、私はAuthViewController
は、ステータスバーを非表示にしたいのですが、MainViewController
を表示するには:
AuthViewController {
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
override func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation {
return .Fade
}
override func prefersStatusBarHidden() -> Bool {
return false
}
}
MainViewController {
override func preferredStatusBarStyle() -> UIStatusBarStyle {
return .LightContent
}
override func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation {
return .Fade
}
override func prefersStatusBarHidden() -> Bool {
return false
}
}
ステータスバーが表示されますが、preferredStatusBarUpdateAnimation()
のオーバーライドは無視されます。ステータスバーにアニメーションが表示されません。
私はそれがその後、これを呼び出して、viewDidAppear
までtrue
にMainViewController
にprefersStatusBarHidden
を設定することにより、アニメーション化するために取得することができました:
UIView.animateWithDuration(0.3) {
self.setNeedsStatusBarAppearanceUpdate()
}
私は、これは毎回呼び出すする必要がありますする必要はありません。私は間違って何をしていますか?