Cordova 隐藏状态栏

Cordova Hide Status Bar

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

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

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

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

对于部署信息中的 iPhone 设置:

对于部署信息中的 iPad 设置:

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

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

StatusBar.hide();

更新

当我运行:

StatusBar.isVisible

属性 returns 错误,但我仍然看到顶部的白色条。

经过几个小时的调试,我终于弄清楚了问题所在。

其实状态栏是隐藏的,我们看到的白条是Framework7提供的overlay,解释如下:

StatusBar.isVisible // false

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

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

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

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

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

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