状态栏显示隐藏

【状态栏显示隐藏】参考:
StatusBar状态栏的隐藏实现
经过笔者测试,不用写

step1://在试图将要已将出现的方法中 - (void)viewDidAppear:(BOOL)animated{[super viewDidAppear:animated]; if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {//调用隐藏方法 [self prefersStatusBarHidden]; [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)]; }}step2://实现隐藏方法 - (BOOL)prefersStatusBarHidden{return YES; }

那么多
- (BOOL)prefersStatusBarHidden{return YES; } //该方法貌似是系统方法,

打个断点,发现一进这个viewController上面这个方法就会自动会触发,换言之,貌似step1不用写,并且这个设置仅针对该viewController(局部)
当然是在info.plist文件中,View controller-based status bar appearance项设为YES(全局)的基础上
因为这时View controller对status bar的设置优先级(反正就是优先级的问题)高于application的设置。 为NO则以application的设置为准,view controller的prefersStatusBarHidden方法无效,是根本不会被调用的。 另外我想说的是
假如现在就是要View controller-based status bar appearance项设为NO,
那么按理来说
要通过application来设置吧
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
但是这方法ios9之后又不建议用了,有警告,这就比较尴尬了

    推荐阅读