从iOS7开始,状态栏(status bar)的风格有两种:明亮(light)和暗黑(dark),可以使用UIStatusBarStyle常量指定其中一个风格。状态栏默认是dark风格,也就是说时间、电池、Wi-Fi等标志都显示为黑色的。
当你想把默认的暗黑风格改为明亮风格时,可以在想改变风格的view controller中重写preferredStatusBarStyle:方法:
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
也可以通过重写prefersStatusBarHidden:方法隐藏状态栏:
- (BOOL)prefersStatusBarHidden
{
return YES;
}
以上方法只能对单个view controller生效。如果想要全局生效,需要如下操作:
在Info中添加Key:“View controller-based status bar appearance”,把Value设为NO
<img src="http://upload-images.jianshu.io/upload_images/402200-061a8559b8290deb.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" >
然后在AppDelegate.m的didFinishLaunchingWithOptions方法中加入代码
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
这样,在全局中状态栏都为明亮风格。也可以在同一个位置加入以下代码使状态栏全局隐藏
[[UIApplication sharedApplication] setStatusBarHidden:YES];
也可以只修改Info,不写一行代码而全局改变状态栏的风格。这种情况下以真机为准,模拟器可能不响应更改:
- 在Info中添加Key:“View controller-based status bar appearance”,把Value设为NO
- 在Info中添加Key:“Status bar style”,把Value设为“Gray style (default)”或者“UIStatusBarStyleLightContent”