将iOS 7 / Xcode 5中状态栏文本颜色从白色改变

21
我正在为我所在的学校开发一个应用程序。目前,我遇到了一个问题,即无法将状态栏文本从默认的黑色更改为白色,以便我们可以读取它!
我尝试了这里和开发论坛上找到的所有方法,包括调用“ViewController-based status bar appearance = 'NO'”和“[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]”等方法。 输入图像描述
3个回答

75

我刚刚在我的一个应用程序中解决了这个问题。请在您的UIViewController中实现以下内容:

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

或选择您需要的另一个 UIStatusBarStyle 值。


2
只有这个答案有效。其他的似乎都没有影响状态栏。 - olivaresF
1
一个杰出的修复。此外,如果您正在通过Storyboards在应用程序中使用导航控制器,并且它们不一定需要特定的编码来处理它们所做的事情,您可以在单个UINavigationController类中使用它,该类分配给Storyboards中的每个导航视图。 - Terrance Shaw
4
我的项目中没有调用这个方法。 - bhavik

15
你可以在你的AppDelegate中使用这个:
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

5
只有在 Info.plist 中将 UIViewControllerBasedStatusBarAppearance 也设为 NO,才能生效。参考链接:https://dev59.com/OmMm5IYBdhLWcg3wX98W#18184831。 - Mason G. Zhwiti
1
在iOS9中,它已被弃用。 - Matthieu Riegler

0

3
最好将问题标记为重复,而不是添加一个回答说它是重复的。 - Abizern
我问这个问题是因为那个帖子里的所有东西都没有起作用。 - Damian W
为什么会有踩票?这个对我来说很好用(在iOS 7上)。 - Sheharyar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接