clq
浏览(571) +
2021-03-05 17:31:09 发表
编辑
关键字:
ios 中隐藏顶部状态栏及坑
本质上代码很简单.其实就是调用 vc 的函数,然后在 重载中决定是否在当前 vc 界面中隐藏就可以了.
但是有一个巨坑是,必须是根视图控制器(也有可能是要求得是顶层 vc,总之子视图的 vc 肯定是不行的)
[self setNeedsStatusBarAppearanceUpdate]; //据说那些不行了,要用这个来隐藏//调用自己的是没用的,因为现在的 rootvc 是 vc_start
[MainForm setNeedsStatusBarAppearanceUpdate]; //调用自己的是没用的,因为现在的 rootvc 是 vc_start
子视图控制器的这个重载函数是根本不会调用的.
//2021 是否隐藏顶部状态栏//只有 rootViewController 中重写才有效果.//setNeedsStatusBarAppearanceUpdate
//本工程的 rootvc 就是 ViewController_start
- (BOOL)prefersStatusBarHidden
{
return YES;//隐藏为YES,显示为NO
}
---------------------------------------------------------------
正确的做法是在 vc_start 中(我项目中的 rootvc).
//2021 是否隐藏顶部状态栏//只有 rootViewController 中重写才有效果.//setNeedsStatusBarAppearanceUpdate
//本工程的 rootvc 就是 ViewController_start
//prefersStatusBarHidden 发生在 viewDidLoad 之前,所以要自己调用一次 setNeedsStatusBarAppearanceUpdate
- (BOOL)prefersStatusBarHidden
{
return self.bStatusBarHidden;
return YES;//隐藏为YES,显示为NO
}
另外,prefersStatusBarHidden 发生在 viewDidLoad 之前,initWithNibName 之后,所以要在 viewDidLoad
中自己调用一次自己的 setNeedsStatusBarAppearanceUpdate (如果变量是在 viewDidLoad 中初始化的话).
[self setNeedsStatusBarAppearanceUpdate]; //prefersStatusBarHidden 发生在 viewDidLoad 之前,所以要自己调用一次 setNeedsStatusBarAppearanceUpdate
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.