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

如何在嵌入UInavigationController的iOS 8中更改状态栏文本颜色?

祁景山
2023-03-14

第8条。1(xcode 6.1)我使用下面的方法来更改状态栏文本的颜色。

[self setNeedsStatusBarAppearanceUpdate];

-(UIStatusBarStyle)preferredStatusBarStyle{ 
return UIStatusBarStyleLightContent; }

调用链接preferredStatusBarStyle

但这对我不起作用。任何人都知道如何更改与uinavigationcontroller相关的状态栏颜色。

共有2个答案

吴修洁
2023-03-14

通过将包含设置的NSDictionary指定给titleTextAttributes属性,可以自定义UINavigationController上的标题文本样式。

NSDictionary *titleTextAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
                            [UIColor whiteColor], NSForegroundColorAttributeName, nil];

[[UINavigationBar appearance] setTitleTextAttributes:titleTextAttributes];

这里有更多关于堆栈溢出的讨论,这里有apple ref。

方梓
2023-03-14
  1. UIViewControlllerBasedStatusBar外观设置为info.plist中的YES
  2. 重写-(UIViewController*)在您的导航控件中的ChilViewControlllerForStatusBarStyle
  3. 覆盖preferredStatusBarStyle或需要的东西。

代码

- (UIStatusBarStyle)preferredStatusBarStyle{
    return self.test?UIStatusBarStyleLightContent:UIStatusBarStyleDefault;
}

- (IBAction)test:(id)sender {
    self.test = !self.test;
    [self setNeedsStatusBarAppearanceUpdate];
}

如果不起作用,请告诉我。

 类似资料:
  • 问题内容: 我的应用程序具有深色背景,但是在iOS 7中状态栏变为透明的。所以我看不到任何东西,只有角落的绿色电池指示灯。如何将状态栏文本颜色更改为白色,就像在主屏幕上一样? 问题答案: 将要在文件的.plist。 在做一个 添加以下方法: { return UIStatusBarStyleLightContent; } 注意 :这不适用于内部控制器,请参阅下面的Tyson评论:) Swift 3

  • 我对这一切都不熟悉。我到处寻找这个小问题的解决办法。有没有办法改变状态栏的颜色?当我使用a色的时候,我也喜欢a色。蓝色我可以看到状态栏中的文本质量不好。 谢谢

  • 所以在iOS 13之前,我正在设置NavigationController。导航栏。BarStyle可控制状态栏中文本的颜色。但是现在有了新的航空航天飞机,有没有办法控制它呢?我已经尝试覆盖preferedStatusBarStyle,并确保我的plist也包含该设置,但据我所知,如果您的视图控制器位于UINavigationController中,这是不荣幸的。 现在,对于iOS 13,我将使用

  • 问题内容: 对我来说,在任何ViewController中使用以上代码将特定ViewController的statusBar颜色设置为White都 不起作用 。有什么建议?使用UIApplication.sharedApplication方法,颜色会在整个应用程序的Info.plist中进行必要的更改之后更改。 如何仅更改某些必需的 特定ViewController 的状态栏颜色? 问题答案: 阅

  • 在任何ViewController中使用上面的代码将特定ViewController的statusBar颜色设置为白色对我来说在iOS8中是行不通的。有什么建议吗?使用UIApplication.SharedApplication方法,在需要对整个应用程序的Info.plist进行更改后,颜色也会更改。 我如何能够仅仅对某些必需的和特定的ViewControllers的状态栏颜色进行更改?

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