当前位置: 首页 > 知识库问答 >
问题:

更改状态栏的背景色

谈阎宝
2023-03-14

所以,我试图做到:

我试着在状态栏后面使用UIView,并将颜色设置为橙色,但运行时,UIView显示在状态栏的正下方,因此仍然是白色

我在互联网上尝试了很多解决方案,但都不管用。是的,它可以工作,但当我移动到另一个视图控制器并再次返回时,颜色消失了。我该怎么办?我用的是斯威夫特

共有1个答案

夹谷阳夏
2023-03-14
UIApplication.shared.statusBarStyle = .lightContent

UINavigationBar.appearance().clipsToBounds = true

let statusBar: UIView = UIApplication.shared.value(forKey: "statusBar") as! UIView

statusBar.backgroundColor = UIColor.orange

尝试在appDelegate的方法应用程序didFinishLaunchingWithOptions中使用此代码

 类似资料:
  • 我可以将状态栏文本变成白色,但不能将背景变成较暗的色调,然后是导航栏?我需要在上面添加一个单独的视图吗?如果是这样的话,我怎么能把它放在导航栏上呢?

  • 我当前的应用程序运行在iOS 4.2、5和6上。 导航栏为橙色,状态栏为黑色背景色。然而,当我在iOS 7上运行相同的应用程序时,我观察到状态栏看起来是透明的,与导航栏的背景颜色相同。 因此,我无法区分状态栏和导航栏。如何使状态栏与iOS 5和iOS 6中的状态栏相同,即黑色背景色和白色文本色?我如何通过编程实现这一点? 我在谷歌上搜索了一下,发现一个建议,我必须添加一个黑色背景,大约20像素高的

  • 问题内容: 在XCode 7.3.x中,我用以下方法更改了StatusBar的背景颜色: 但是似乎这在Swift 3.0中不再起作用。 病态尝试: 但这给了我: 有任何想法如何使用XCode8 / Swift 3.0进行更改吗? 问题答案: extension UIApplication { var statusBarView: UIView? { if responds(to: Selector

  • 我有两个页面,第一个有白色状态栏,第二个页面有灰色状态栏,但当我从一个页面移动到另一个页面时,第二个页面需要第一个状态栏颜色?? 注意:当我从main函数运行第二页时,它的颜色是正确的 我用这个作为状态栏: 原因是什么?

  • 问题内容: 我正在尝试将状态栏的颜色更改为蓝色或其他某种颜色。 这可能吗,或者Apple不允许吗? 问题答案: 注意:此解决方案在iOS 13及更高版本下失败。 Plist中的第一个设置为 输出屏幕截图如下

  • 我当前的应用程序运行在iOS 5和iOS 6上。 导航栏的颜色为橙色,状态栏的背景颜色为黑色,文本颜色为白色。但是,当我在iOS 7上运行相同的应用程序时,我观察到状态栏看起来是透明的,与导航栏的背景颜色相同,并且状态栏文本颜色为黑色。 因此,我无法区分状态栏和导航栏。 如何使状态栏与iOS 5和iOS 6中的状态栏相同,即黑色背景色和白色文本色?如何以编程方式执行此操作?