iOS StatusBar颜色变化动画
iOS StatusBar color change animation
我使用以下代码更改 ViewController
中的 StatusBar 颜色:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
UIApplication.shared.statusBarStyle = .lightContent
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.shared.statusBarStyle = UIStatusBarStyle.default
}
并且info.plist
中的参数View controller-based status bar appearance
设置为NO
但问题是 StatusBar 颜色从黑色变为白色,没有动画,我想在这些状态之间平滑过渡。有什么想法吗?
Xcode 10 测试版 5,iOS 12 开发测试版 6
您可以为一个人设置关注VC
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
然后将另一个设置如下
override var preferredStatusBarStyle: UIStatusBarStyle {
return UIStatusBarStyle.default
}
你可以试试这个:
override var preferredStatusBarStyle: UIStatusBarStyle
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation
每当您希望发生此转换时,都需要调用 setNeedsStatusBarAppearanceUpdate()
(主要在 viewWillAppear 中)
我使用以下代码更改 ViewController
中的 StatusBar 颜色:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
UIApplication.shared.statusBarStyle = .lightContent
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.shared.statusBarStyle = UIStatusBarStyle.default
}
并且info.plist
中的参数View controller-based status bar appearance
设置为NO
但问题是 StatusBar 颜色从黑色变为白色,没有动画,我想在这些状态之间平滑过渡。有什么想法吗?
Xcode 10 测试版 5,iOS 12 开发测试版 6
您可以为一个人设置关注VC
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
然后将另一个设置如下
override var preferredStatusBarStyle: UIStatusBarStyle {
return UIStatusBarStyle.default
}
你可以试试这个:
override var preferredStatusBarStyle: UIStatusBarStyle
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation
每当您希望发生此转换时,都需要调用 setNeedsStatusBarAppearanceUpdate()
(主要在 viewWillAppear 中)