无法查看动画的原因是,在第二个视图控制器中,始终返回
true
到
prefersStatusBarHidden
,则该视图控制器以该条件开始,因此没有任何“机会”播放动画。
因此,在第二个视图控制器中,您可以尝试这样做:
class ViewController2: UIViewController {
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation { get { return .slide } }
override var prefersStatusBarHidden: Bool { return statusBarHidden }
var statusBarHidden = false
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.statusBarHidden = true
UIView.animate(withDuration: 0.35) {
self.setNeedsStatusBarAppearanceUpdate()
}
}
}
此外
Info.plist
一定要有
View controller-based status bar appearance
=
YES