【发布时间】:2017-06-04 22:07:11
【问题描述】:
标题说明了一切。或者我理解 sdk 有什么非常错误的地方,或者苹果的 sdk 有什么问题。
当设置 (info.plist) 查看基于控制器的状态.. = YES,我可以通过调用 setNeedsStatusBarEtc 来隐藏我的状态栏动画等等...但是然后,我无法更改我的首选状态栏样式。当我将其设置为 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 controller-based status.. = NO,它被调用,但其他的不是。我只想要一个隐藏在一些 VC 中的 lightContent 状态栏..
已弃用的解决方案:
UIApplication.shared.isStatusBarHidden = true
但不能动画(至少我不能)
感谢@WillBoland
【问题讨论】:
-
请发布您的代码。
-
@BJHStudios 更新了!
-
@Gehlen,请提供更多代码。很难理解你。 'l prefersStatusBarHidden 和 preferredStatusBarUpdateAnimation' - 你在哪里使用它? “不,它被称为。” - 这是什么意思?请让您的帖子更清晰。
-
@Vyacheslav 已更新!