分为两种情况:
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
即可实现全局隐藏状态栏了。