我知道我可以改变iPhone状态栏文本的颜色,使用这里描述的方法。
但是,我的应用程序有不同的主题,我需要相应地更新状态栏。
调用
[self setNeedsStatusBarAppearanceUpdate];
和
-(UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;
}
显然不起作用。但是,它需要是本地的,就像只针对特定的TabBar视图一样。
首先,选择Project
,在Genernal
选项卡中,您将看到如下内容:
输入图片描述
将Status Bar Style
设置为Light
,如图所示。
第二,在Info.plist中设置View controller-based status bar appearance equal
为NO
。如果您找不到,只需添加一个新的行,并设置它像上面的步骤。
然后,运行你的应用程序,你会看到状态栏文本颜色是白色的。:)
只为那些来这里看标题的人。您可以设置一个标志,并在状态栏文本颜色之间切换,如代码段所示:
-(UIStatusBarStyle)preferredStatusBarStyle {
if (barStyleLight){
return UIStatusBarStyleLightContent;
}
else {
return UIStatusBarStyleDefault;
}
}
还需要注意的是,当我们调用[self setNeedsStatusBarAppearanceUpdate];
preferredStatusBarStyle
方法将被调用。希望能有所帮助。