ios – StatusBar在设置基于View控制器的状态栏外观= YES时不调用preferredStatusBarStyle

前端之家收集整理的这篇文章主要介绍了ios – StatusBar在设置基于View控制器的状态栏外观= YES时不调用preferredStatusBarStyle前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
标题说明了一切.或者有一些非常错误的东西让我了解sdk,或者苹果的sdk出了什么问题.

当设置(info.plist)查看基于控制器的状态.. = YES时,我可以通过调用setNeedsStatusBarEtc来隐藏我的状态栏动画等等……但是,我无法更改我的preferredStatusBarStyle.当我把它设置为NO时,我可以改变风格,但不能改变其他一切.我该怎么办?有什么不对?请帮忙!

基于控制器的状态.. = YES

所以在我的ViewController中我创建了一个statusBarHidden:Bool并覆盖类var:prefeRSStatusBarHidden:Bool,preferredStatusBarUpdateAnimation:Bool和preferredStatusBarStyle来改变我的statusBar.

var statusBarHidden = false {
    didSet {
        UIView.animate(withDuration: 0.3) { () -> Void in
            self.setNeedsStatusBarAppearanceUpdate()
        }
    }
}

但是,此代码将仅调用prefeRSStatusBarHidden和preferredStatusBarUpdateAnimation,而不是preferredStatusBarStyle.基于Whit控制器的状态.. = NO,它被调用,但其他的不是.我只想在一些VC中隐藏一个lightContent StatusBar ..

已弃用的解决方案:

UIApplication.shared.isStatusBarHidden = true

但不能动画(至少我不能)

感谢@WillBoland

解决方法

如每 this link,使用以下工作.

[[UIApplication sharedApplication] setStatusBarHidden:NO]

它已被弃用了.

猜你在找的iOS相关文章