Cordova:你如何在启动/启动屏幕上隐藏状态栏?

时间:2014-01-28 01:54:36

标签: ios cordova cordova-3

我正在尝试使用Cordova删除我的应用中的状态栏。我尝试了<preference name="Fullscreen" value="true" />,但在iOS7中看起来不起作用。 (和iOS6相反,它留下了黑色空白。)

此后我一直在使用StatusBar插件,只是在设备就绪时触发StatusBar.hide();,但这不会隐藏启动屏幕上的状态栏。有没有办法在iOS7中隐藏整个应用程序的状态栏,而不是每次进行cordova构建时都不必重写它?谢谢。

5 个答案:

答案 0 :(得分:9)

这不是使Cordova自动完成的完整答案。但是我进入了iOS构建的.plist文件并添加了:

UIStatusBarHidden = true
UIViewControllerBasedStatusBarAppearance = false

这使得它的行为方式正确,并且在我进行构建时不会被Cordova覆盖,因此它现在可以正常工作。

如果有人发现或知道更好的方法来强制执行这些设置,请随时发布,我会更新此答案或在下次注意时选择您的答案。谢谢!

答案 1 :(得分:5)

状态栏

要删除iOS 7中的状态栏,请在plist文件中使用以下条目。

<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

在XCode上的配置中,以下实现相同的

set Status bar is initially hidden = YES
add row: View controller-based status bar appearance = NO

答案 2 :(得分:4)

不要浪费你的时间只是在飞溅时间/发布时间状态栏隐藏

enter image description here

答案 3 :(得分:1)

您是否见过以下内容:

http://ionicframework.com/tutorials/fullscreen-apps/

首先,我们需要注意这只适用于Cordova(推荐v3.3.1)或其他本地UIWebView包装器。如果我们使用Cordova,我们需要安装一个插件:

$ cordova plugin add org.apache.cordova.statusbar

然后,我们将使用Ionic的平台服务来监听设备就绪事件并删除状态栏:

angular.module('myApp', ['ionic'])

.controller('MyCtrl', function($scope, Platform) {
  Platform.ready(function() {
    // hide the status bar using the StatusBar plugin
    StatusBar.hide();
  });
});

答案 4 :(得分:0)

已更新:

我们还可以直接从config.xml中注入info.plist。

<config-file parent="UIStatusBarHidden" platform="ios" target="*-Info.plist">
    <true />
</config-file>
<config-file parent="UIViewControllerBasedStatusBarAppearance" platform="ios" target="*-Info.plist">
     <false />
</config-file>

第一个配置将在启动/午餐屏幕上隐藏状态栏。第二个配置将在启动/午餐屏幕之后隐藏状态栏。