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

无法更改状态栏的样式

令狐阳秋
2023-03-14

我在iOS应用程序中实现了一个导航栏,我将淡色设置为白色,但在运行应用程序时,状态栏不跟随淡色,只是透明的(见图)。我的目标是状态栏有半透明的风格。

怎么解决这个问题?

共有3个答案

程俊健
2023-03-14

试试这个

[self setNeedsStatusBarAppearanceUpdate];//add it in view didload

- (UIStatusBarStyle) preferredStatusBarStyle { 
        return UIStatusBarStyleLightContent; 
   }

检查链接在状态栏中添加视图检查下一个链接

呼延德华
2023-03-14

你已经试过了吗?

UIApplication.sharedApplication().statusBarStyle = .LightContent
罗翰
2023-03-14

要更改所有ViewController中状态栏的颜色,请将其添加到信息中。普利斯特

<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

然后清理并运行构建。

要设置特定于ViewController的状态栏颜色,请在信息中添加以下内容。普利斯特

<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>

在ViewController的viewDidLoad方法中,调用以下方法:

[self setNeedsStatusBarAppearanceUpdate];

然后在ViewController中添加以下方法:

- (UIStatusBarStyle)preferredStatusBarStyle
{ 
    return UIStatusBarStyleLightContent; 
}

干杯:]

 类似资料:
  • 我正在尝试更改其中一个ViewController的状态栏样式。我把这个 在plist中将基于视图的状态栏设置为“是” 2. 还补充了这一点 [自设置需求状态栏外观更新] 它可以工作,也就是说,我可以看到字体颜色为白色,但过了一段时间,它又变回了以前的类型。。

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

  • 我正在尝试修改状态栏的外观(将文本设置为白色/将样式设置为“灯光”)。通过将其添加到AppDelegate中,我成功地设置了背景色。swift文件: 但是,当我去更改状态栏的文本样式时,甚至在一般情况下更改此样式 我还试图通过nfo.plist修改状态栏,但是没有“基于视图控制器的状态栏外观”字段(见第二张图片)。此外,状态栏样式选项下没有“轻”样式选项(见下图):

  • 所以,我试图做到: 我试着在状态栏后面使用UIView,并将颜色设置为橙色,但运行时,UIView显示在状态栏的正下方,因此仍然是白色 我在互联网上尝试了很多解决方案,但都不管用。是的,它可以工作,但当我移动到另一个视图控制器并再次返回时,颜色消失了。我该怎么办?我用的是斯威夫特

  • 在我的一个应用程序中,我为状态栏设置了半透明的颜色。 在前两个屏幕上,它显示如预期的,但在第三个屏幕上,它将改变状态栏的样式。它将转换为灰色半透明。 预期屏幕样本: 本期: 我已经完成了与在应用程序中显示灯光内容状态栏相关的所有更改。 将状态栏显示为 还可以向plist添加标志,如下所述。 但在我的应用程序中仍然存在上述问题。 任何帮助都将不胜感激。

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