阅读所有建议并尝试了一些方法之后,我可以使用以下步骤将此方法用于特定的视图控制器:
第一步:
打开info.plist,然后将名为“ 基于视图控制器的状态栏外观 ” 的新密钥插入NO。
第二步(仅作说明,无需实施):
通常,我们将以下代码放入AppDelegate的application(_:didFinishLaunchingWithOptions :)方法中,
迅捷2
UIApplication.sharedApplication().statusBarStyle = .LightContent
迅捷3
UIApplication.shared.statusBarStyle = .lightContent
但这会影响statusBarStyle
所有的ViewController。
因此,如何使它适用于特定的ViewController-最后一步:
打开您要更改的viewcontroller文件,statusBarStyle
然后将以下代码放入中viewWillAppear()
,
迅捷2
UIApplication.sharedApplication().statusBarStyle = .LightContent
迅捷3
UIApplication.shared.statusBarStyle = .lightContent
另外,viewWillDisappear()
为该特定的viewController 实现方法,并放入以下代码行,
迅捷2
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.Default
}
迅捷3
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.shared.statusBarStyle = UIStatusBarStyle.default
}
此步骤将首先更改statusBarStyle
特定ViewController的,然后将其更改回default
特定ViewController消失的时间。不执行viewWillDisappear()
将statusBarStyle
永久更改为的新定义值UIStatusBarStyle.LightContent
Status bar is initially hidden = YES
在info.plist文件中进行设置,则“基于视图控制器的状态栏外观=否”将导致状态栏被隐藏。