分为两种情况:
1. 想要隐藏某个视图的状态栏, 比如说, 从界面A, push 到界面B的时候, 界面A原本显示状态栏, 然而我们需要界面B不显示状态栏。
这时候, 可以这样做:
在B中实现:
- (void)viewDidLoad { [super viewDidLoad]; if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { // iOS 7 [self prefersStatusBarHidden]; [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)]; } } - (BOOL)prefersStatusBarHidden { return YES;//隐藏为YES,显示为NO }
并且, 在plist文件中添加:
设置key:View controller-based status bar appearance 为YES
2.这种比较干脆, 直接所有视图都隐藏状态栏。也比较简单。
(在plist里设置):
首先设置key:Status bar is initially hidden 为YES
然后设置key:View controller-based status bar appearance 为NO
即可实现全局隐藏状态栏了。