iOS6和iOS7在隐藏 Status Bar 三种方式比较:
Storyboard
界面上选中UIViewController,最右边Simulated Metrics找到 Status Bar 设定成 None
ViewController
iOS 6通过[UIApplication sharedApplication] 取得app的单例,然后调用setStatusBarHidden方法隐藏 Status Bar。
iOS 7
Info.plist
不但要在Info.plist中增加 Status bar is initially hidden一行,选择为 YES,
还需增加 View controller-based status bar appearance 一行,选择为 NO。
//改变状态栏的前景色
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
//隐藏状态栏
- (BOOL)prefersStatusBarHidden//for iOS7.0
{return YES/NO;
}
/**
* 需要改变状态栏状态的viewController 在跟根视图中使用
* @return UIViewController
**/
- (UIViewController *)childViewControllerForStatusBarStyle{
return self.contentVC;
}
需要刷新时
[self setNeedsStatusBarAppearanceUpdate];//self UIViewController实例