我的应用程序背景较暗,但在iOS 7中状态栏变得透明。所以我看不到任何东西,角落里只有绿色电池指示灯。如何将状态栏文本颜色更改为绿色或橙色,就像在主屏幕上一样?
我知道
在plist中将UIViewControllerBasedStatusBarAppearance
设为YES
在viewDidLoad
执行[self setNeedsStatusBarAppearanceUpdate];
添加以下方法:
-(UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;
}
如何以编程方式更改UIViewControllerBasedStatusBarAppearance
?
提前致谢...
答案 0 :(得分:9)
在Info.plist中,将“查看基于控制器的状态栏外观”设置为NO。
然后,在didfinishlaunchingwithoptions方法的appdelegate.m类中添加它。
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];
这适用于ios 7.
答案 1 :(得分:9)
正如其他人所提到的,在应用程序的info.plist中添加“查看基于控制器的状态栏外观”,并将其设置为Type:Boolean和Value:NO
供您准备参考:
在iOS 9中
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];
方法已弃用。
所以你可以使用它:
application.statusBarStyle = UIStatusBarStyleLightContent;
在方法
中添加这行代码- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
存在于appDelegate.m文件中。这将在整个应用程序中更改状态栏文本颜色。
因此,如果您有任何背景可能是暗或亮的屏幕,那么在该屏幕中您可以通过以下方式使用状态栏颜色:
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
希望这有帮助。