首页 文章

如何动画更改状态栏样式?

提问于
浏览
2

我想在呈现视图控制器时更改状态栏样式,并在从它返回时将其更改回来,这是我的代码:

In presented:

override func viewWillAppear(_ animated: Bool) {
    UIApplication.shared.statusBarStyle = .lightContent
}

In presenting:

override func viewWillAppear(_ animated: Bool) {
    UIApplication.shared.statusBarStyle = .default
}

My info.plist:

  • 查看基于控制器的状态栏外观= NO

  • 状态栏样式=默认值

动画似乎非常具有侵入性,我能够为变化制作动画吗?

1 回答

  • -1

    首先,您执行此操作:打开info.plist并将名为“View controller-based status bar appearance”的新密钥插入NO

    并在任何viewController中更改statusBar颜色 .

    像这样:UIApplication.sharedApplication() . statusBarStyle = .LightContent

    如果你想改变viewController上的颜色,就像这样:

    覆盖func viewWillDisappear(动画:Bool)

    {super.viewWillDisappear(动画)

    UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.Default
    

    //当特定的viewController消失时,这将改变颜色 .

    }

相关问题