标题说明了一切.或者有一些非常错误的东西让我了解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