科尔多瓦隐藏状态栏

时间:2017-05-18 19:03:42

标签: ios cordova phonegap-build statusbar html-framework-7

我正在使用Phonegap和Framework7构建iPad应用程序,无论我做什么,我似乎无法将状态栏隐藏在iPad上。

我已经尝试了一些教程,包括以下问题:

我已经尝试了上述问题的所有答案中提供的解决方案,我的状态栏仍然存在。

我已经用xCode打开了项目,我可以看到设置配置正常:

对于部署信息中的i​​Phone设置:

  • 状态栏样式:默认
  • 隐藏状态栏(已选中)
  • 需要全屏(已选中)

对于部署信息中的i​​Pad设置:

  • 在应用程序启动期间隐藏(选中)
  • 需要全屏(已选中)

Info > Custom iOS Target Properties中,我设置了以下内容:

  • 查看基于控制器的状态栏外观:否

我已尝试在deviceready事件被触发时使用JavaScript方式:

StatusBar.hide();

更新

当我跑步时:

StatusBar.isVisible

该属性返回false,但我仍然看到顶部的白条。

1 个答案:

答案 0 :(得分:8)

经过长时间的调试后,我终于找到了问题所在。

实际上,状态栏是隐藏的,我们看到的白色栏是Framework7提供的叠加层,它解释了以下内容:

StatusBar.isVisible // false

显然,Framework7隐藏了状态栏,但在应用程序顶部留下了一个空白栏,这是一个填充。

因此,要删除该栏,我必须从with-statusbar-overlay标记中删除该课程html。为此,我将以下内容添加到我的Javascript文件中:

document.documentElement.classList.remove('with-statusbar-overlay');

请注意,必须在deviceready事件之前执行Javascript修复。否则,您将看到带有条形图的主视图,然后条形图将消失。如果你把它放在事件之前,用户将永远不会看到该栏。

document.documentElement.classList.remove('with-statusbar-overlay');

Dom7(document).on('deviceready', function(){
    // Your code
});