Swift 部分控制器隐藏状态栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30932479/article/details/80693307

方法一:

第一步:找到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方法无效,是根本不会被调用的。

阅读更多
换一批

没有更多推荐了,返回首页