override func preferredStatusBarStyle() -> UIStatusBarStyle {
return UIStatusBarStyle.LightContent;
}
对我来说,在任何ViewController中使用以上代码将特定ViewController的statusBar颜色设置为White都
不起作用
。有什么建议?使用UIApplication.sharedApplication方法,颜色会在整个应用程序的Info.plist中进行必要的更改之后更改。
// Change the colour of status bar from black to white
UIApplication.sharedApplication().statusBarStyle = .LightContent
如何仅更改某些必需的 特定ViewController 的状态栏颜色?
阅读所有建议并尝试了一些方法之后,我可以使用以下步骤将此方法用于特定的视图控制器:
第一步:
打开info.plist,然后将名为“ 基于视图控制器的状态栏外观 ” 的新密钥插入 NO。
第二步(仅作说明,无需实施):
通常,我们将以下代码放入AppDelegate的application(_:didFinishLaunchingWithOptions :)方法中,
迅捷2
UIApplication.sharedApplication().statusBarStyle = .LightContent
迅捷3
UIApplication.shared.statusBarStyle = .lightContent
但这 会影响statusBarStyle
所有的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
在任何ViewController中使用上面的代码将特定ViewController的statusBar颜色设置为白色对我来说在iOS8中是行不通的。有什么建议吗?使用UIApplication.SharedApplication方法,在需要对整个应用程序的Info.plist进行更改后,颜色也会更改。 我如何能够仅仅对某些必需的和特定的ViewControllers的状态栏颜色进行更改?
对于ios 13,我无法设置状态栏的文本颜色。如何查看statusBarManager?如何仅更改文本颜色? 由于: 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因是:“UIApplication上调用了-statusBar或-statusBarWindow的应用程序:由于不再有状态栏或状态栏窗口,必须更改此代码。”。“请使用“场景”窗口上
问题内容: 在XCode 7.3.x中,我用以下方法更改了StatusBar的背景颜色: 但是似乎这在Swift 3.0中不再起作用。 病态尝试: 但这给了我: 有任何想法如何使用XCode8 / Swift 3.0进行更改吗? 问题答案: extension UIApplication { var statusBarView: UIView? { if responds(to: Selector
问题内容: 我正在尝试将状态栏的颜色更改为蓝色或其他某种颜色。 这可能吗,或者Apple不允许吗? 问题答案: 注意:此解决方案在iOS 13及更高版本下失败。 Plist中的第一个设置为 输出屏幕截图如下
在我的一个活动中,我使用更改了工具栏的颜色。但在使用的5.0设备上,颜色是活动主题中的的颜色,所以我有两种非常不同的颜色,看起来不太好。 我意识到在5.0中可以使用,但没有这个功能。 所以我的问题是在5.0中,如何用更改状态栏颜色?
晚上好,伙计们。 我有个问题。我已经心神不定好长时间了。这里我有两个AScreen和BScreen屏幕。对于AScreen,我想要一个带有黑色图标的白色状态栏。对于BScreen,一个红色的状态栏,图标为白色。如何做到这一点?? 当我在屏幕A上时,我使用Flatter_statusbarcolo状态栏为红色,我导航到屏幕B状态栏为白色,但当我返回屏幕A时,状态栏保持白色(屏幕B的颜色)