状态栏文本颜色iOS 7

时间:2013-09-28 08:46:34

标签: ios objective-c storyboard ios7 uistoryboard

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

我在StackOverflow上看到的问题很少,如THISTHISTHIS,但它们没有多大帮助。也可能是因为我无法在plist文件中找到UIViewControllerBasedStatusBarAppearance为YES。

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

4 个答案:

答案 0 :(得分:199)

让我给你一个完整的答案。更改状态栏文本颜色非常容易,但在iOS 7中特别适合新手使用它会有点混乱。

如果你试图通过选择视图控制器并转到右侧的模拟指标,在StoryBoard中将颜色从黑色更改为白色,它将无法工作,我不知道为什么。它应该通过这样改变,但任何方式。

其次,您不会在plist中找到UIViewControllerBasedStatusBarAppearance属性,但默认情况下它不在那里。您必须通过单击+按钮自行添加它,然后将其设置为NO。

ios 7 status bar text color

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

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

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

答案 1 :(得分:42)

如果您正在寻找UIViewControllerBasedStatusBarAppearance,则需要点击将鼠标悬停在plist文件中的根元素上时出现的小加号。

plist file

执行此操作后,将显示一个新行 - 从下拉列表中选择“查看基于控制器的状态栏外观”,并将NO设置为其值。 (该友好名称在内部声明为UIViewControllerBasedStatusBarAppearance

接下来,在app delegate中调用以下方法应该为所有视图控制器将状态栏颜色设置为白色:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

答案 2 :(得分:24)

在plist中将UIViewControllerBasedStatusBarAppearance设置为YES

viewDidLoad执行[self setNeedsStatusBarAppearanceUpdate];

添加以下方法:

-(UIStatusBarStyle)preferredStatusBarStyle{ 
    return UIStatusBarStyleLightContent; 
}

答案 3 :(得分:16)

默认情况下为YES,因此您无法看到它。你需要添加

UIViewControllerBasedStatusBarAppearance

到您的plist并将其设置为NO

然后你可以打电话

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];