Swift 3 UIStatusBarStyle 不适用于 UINavigationController 中的单独 ViewController
Posted
技术标签:
【中文标题】Swift 3 UIStatusBarStyle 不适用于 UINavigationController 中的单独 ViewController【英文标题】:Swift 3 UIStatusBarStyle not working for separate ViewControllers within UINavigationController 【发布时间】:2016-09-25 12:24:18 【问题描述】:Swift 3 中的某些内容发生了变化。
我曾经能够将每个ViewController
的状态栏颜色从默认更改为亮起,即使它被包裹在UINavigationController
中。
现在我有一个 UINavigationController
来管理我的所有 UIViewController
s,当我对每个 ViewController
执行此操作时,它不起作用:
override var preferredStatusBarStyle: UIStatusBarStyle
return .lightContent
另一方面,当我将此代码插入UINavigationCotroller
的子类时,它可以工作,但我根本无法动态更改它,这意味着我的所有ViewController
s 现在都有.lightContent
和我无法改变它。
有没有办法解决这个可怕的变化?
谢谢:)
【问题讨论】:
【参考方案1】:您可以通过将UIApplication.shared.statusBarStyle = .lightContent
添加到您的didFinishLaunchingWithOptions
函数内的AppDelegate.swift 文件中,将其动态更改为应用程序中的所有视图。您还需要转到 info.plist 文件并添加布尔值 View controller-based status bar appearance
并将其设置为 NO
。
【讨论】:
以上是关于Swift 3 UIStatusBarStyle 不适用于 UINavigationController 中的单独 ViewController的主要内容,如果未能解决你的问题,请参考以下文章