首页 文章

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

提问于
浏览
3

Headers 说明了一切 . 或者有一些非常错误的东西让我了解sdk,或苹果的sdk出了什么问题 .

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

controller-based status.. = 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 . 惠特 controller-based status.. = NO ,它被称为,但其他人不是 . 我只想在一些VC中隐藏一个lightContent StatusBar ..

A deprecated solution:

UIApplication.shared.isStatusBarHidden = true

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

感谢@WillBoland

1 回答

  • 0

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

    [[UIApplication sharedApplication] setStatusBarHidden:NO]
    

    虽然它已被弃用 .

相关问题