【问题标题】:StatusBar ins't calling preferredStatusBarStyle when setting View controller-based status bar appearance = YES设置基于视图控制器的状态栏外观 = YES 时,StatusBar 不会调用 PreferredStatusBarStyle
【发布时间】: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 已更新!

标签: ios swift statusbar


【解决方案1】:

根据this link,使用以下方法。

[[UIApplication sharedApplication] setStatusBarHidden:NO]

但它已被弃用。

【讨论】:

  • 它可以工作,但除了被弃用之外,我也无法动画.. =(
  • 啊,很抱歉。我会继续寻找。
  • 我也是!谢谢!
猜你喜欢
  • 2016-11-02
  • 1970-01-01
  • 1970-01-01
  • 2017-06-09
  • 1970-01-01
  • 1970-01-01
  • 2014-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多