2

我正在尝试更改我的一个视图控制器的状态栏样式。我把这个

  1. 在 plist 中将基于视图的状态栏设置为 YES

2.

 -(UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}
  1. 也添加了这个

[自我设置NeedsStatusBarAppearanceUpdate]

它可以工作,即我可以看到字体颜色为白色,但过了一段时间它又变回了以前的类型..

4

4 回答 4

6

如果您在运行时遇到状态栏本身的颜色变化

尝试在 plist 中设置设置UIViewControllerBasedStatusBarAppearanceNO 。

在你的 viewController.. 里面设置外观调用

-(void)viewDidLayoutSubviews
{
    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
        [self setNeedsStatusBarAppearanceUpdate];
    }
}
于 2013-10-18T10:34:03.237 回答
2

编写以下代码

-(void)viewWillAppear:(BOOL)Animated{
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
}
于 2013-10-18T11:10:47.023 回答
0

这是我唯一可以为 iOS7 工作的东西

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}
于 2014-01-17T03:35:59.867 回答
0

您可以检查此代码,这是一个小技巧——但有时很有用。

于 2015-06-26T10:41:59.647 回答