状态栏文字颜色iOS 7

我无法更改iOS 7 SDK状态栏中的文本颜色。 目前它的黑色,我希望它是一个故事板中的所有我的视图控制器的白色。

我已经看到了像这样, 这个和这个 StackOverflow几个问题,但他们没有太大的帮助。 也可能是由于我无法在我的plist文件中findUIViewControllerBasedStatusBarAppearance为YES的事实。

任何人都可以告诉我正确的方法来设置故事板中的所有视图控制器的状态栏文本颜色为白色? 提前致谢!

让我给你一个完整的答案你的问题。 更改状态栏的文字颜色是非常容易的,但在iOS 7中有点混乱,特别是新手。

如果您想通过select视图控制器并转到右侧的模拟度量标准来尝试在StoryBoard中将颜色从黑色更改为白色,则该模式将不起作用,我不知道为什么。 它应该像这样改变,但是如何改变。

其次,你不会在你的plist中findUIViewControllerBasedStatusBarAppearance属性,但默认情况下它不在那里。 您必须通过点击+button来添加它,然后将其设置为NO。

ios 7状态栏文字颜色

最后,你必须去你的AppDelegate.m文件,并在didFinishLaunchingWithOptions方法中添加以下内容,添加以下行:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

这会将所有视图控制器的颜色更改为白色。 希望这可以帮助!

如果您正在查找UIViewControllerBasedStatusBarAppearance ,则需要单击当您将鼠标hover在plist文件的根元素上时出现的小加号。

plist文件

一旦你这样做,一个新的行将出现 – 从下拉列表中select“查看基于控制器的状态栏的外观”,并将NO设置为其值。 (该友好名称在内部声明为UIViewControllerBasedStatusBarAppearance

接下来,在您的应用程序委托中调用以下方法应将状态栏颜色设置为白色的所有视图控制器:

 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

在plist中将UIViewControllerBasedStatusBarAppearance设置为YES

viewDidLoad做一个[self setNeedsStatusBarAppearanceUpdate];

添加以下方法:

 -(UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; } 

默认是YES ,所以你不会看到它。 你需要添加

 UIViewControllerBasedStatusBarAppearance 

给你的plist,并把它设置为NO

那你可以打电话

 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];