iOS状态栏颜色更改动画
我使用以下代码更改我的iOS状态栏颜色更改动画,ios,swift,statusbar,Ios,Swift,Statusbar,我使用以下代码更改我的ViewController中的状态栏颜色: override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) UIApplication.shared.statusBarStyle = .lightContent } override func viewWillDisappear(_ animated: Bool) { super.viewWillDis
ViewController
中的状态栏颜色:
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
中的参数查看基于控制器的状态栏外观
设置为否
但问题是状态栏的颜色在没有动画的情况下从黑色变为白色,我想在这些状态之间进行平滑过渡。有什么想法吗
Xcode 10 Beta 5,iOS 12 Dev Beta 6您可以为一个VC设置以下内容
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
然后设置另一个,如下所示
override var preferredStatusBarStyle: UIStatusBarStyle {
return UIStatusBarStyle.default
}
您可以为一个VC设置以下内容
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
然后设置另一个,如下所示
override var preferredStatusBarStyle: UIStatusBarStyle {
return UIStatusBarStyle.default
}
您可以尝试以下方法:
override var preferredStatusBarStyle: UIStatusBarStyle
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation
每当您希望进行此转换时,需要调用setNeedsStatusBarAppearanceUpdate()
(大部分在视图中将出现)您可以尝试以下操作:
override var preferredStatusBarStyle: UIStatusBarStyle
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation
每当您希望进行此转换时(主要是在视图中将出现),都需要调用
setNeedsStatusBarAppearanceUpdate()
)为什么不试试propertyAnimator呢。我认为这对您很有用。我认为您必须使用查看基于控制器的状态栏外观=YES
才能使用动画,因为UIApplication.shared.setStatusBarStyle
已被弃用。也许可以尝试将其包装在动画块中并检查?对于propertyAnimator,请遵循以下步骤,为什么不尝试propertyAnimator。我认为这对您很有用。我认为您必须使用查看基于控制器的状态栏外观=YES
才能使用动画,因为UIApplication.shared.setStatusBarStyle
已被弃用。也许可以尝试将其包装在动画块中并检查?对于propertyAnimator,请遵循此操作是的,我用您的代码替换了我的代码,并且状态栏开始随动画更改颜色,谢谢!是的,我用你的代码替换了我的代码,状态栏开始用动画改变颜色,谢谢!