作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
Swift 3 中的某些内容发生了变化。我曾经能够在每个 ViewController
上将状态栏颜色从默认更改为亮起,即使它被包裹在 UINavigationController
中也是如此。
现在我有一个 UINavigationController
来管理我所有的 UIViewController
,当我在每个 ViewController
上执行此操作时,它不会工作:
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
另一方面,当我将此代码插入我的 UINavigationCotroller
子类时,它可以工作,但我根本无法动态更改它,这意味着我所有的 ViewController
s 现在有 .lightContent
,我无法更改它。
这个可怕的变化有解决方案吗?
谢谢:)
最佳答案
您可以通过将 UIApplication.shared.statusBarStyle = .lightContent
添加到您的 didFinishLaunchingWithOptions
函数内的 AppDelegate.swift 文件,将其动态更改为您应用中的所有 View 。您还需要转到 info.plist 文件并添加 bool 值 View controller-based status bar appearance
并将其设置为 NO
。
关于ios - Swift 3 UIStatusBarStyle 不适用于 UINavigationController 中的单独 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39686773/
我是一名优秀的程序员,十分优秀!