方法一:
第一步:找到info.plist文件,添加字段 View controller-based status bar appearance 为 NO;
第二部:在目标控制器视图即将出现方法中添加代码
UIApplication.shared.setStatusBarHidden(true, with: .fade)
视图即将消失的方法中添加 hidden:false方法
方法二:
第一步:info.plist文件中,字段View controller-based status bar appearance 为 YES;
在视图即将出现方法添加代码:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
[self prefersStatusBarHidden];
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
}
第二步:覆盖view controller的prefersStatusBarHidden的实现,返会YES。
- (BOOL)prefersStatusBarHidden
{
return YES;
}
注意:info.plist文件中,View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于application的设置。为NO则以application的设置为准,view controller的prefersStatusBarHidden方法无效,是根本不会被调用的。