我正在尝试使用Cordova删除我的应用中的状态栏。我尝试了<preference name="Fullscreen" value="true" />
,但在iOS7中看起来不起作用。 (和iOS6相反,它留下了黑色空白。)
此后我一直在使用StatusBar插件,只是在设备就绪时触发StatusBar.hide();
,但这不会隐藏启动屏幕上的状态栏。有没有办法在iOS7中隐藏整个应用程序的状态栏,而不是每次进行cordova构建时都不必重写它?谢谢。
答案 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)
不要浪费你的时间只是在飞溅时间/发布时间状态栏隐藏
答案 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>
第一个配置将在启动/午餐屏幕上隐藏状态栏。第二个配置将在启动/午餐屏幕之后隐藏状态栏。