如何使用Phonegap Build删除iOS状态栏?

时间:2013-12-22 21:12:40

标签: ios cordova statusbar phonegap-build

使用Phonegap Build 3.1时是否可以摆脱iOS7中的状态栏?我可以在Xcode中本地构建时删除状态栏,但是一旦我尝试Phonegap Build,它就会再次返回。

  1. 是否有配置首选项完全删除状态栏?
  2. 如果没有,是否可以将状态栏覆盖在应用视图的顶部并将其设置为透明背景?
  3. 希望状态栏按下应用视图20px,现在就是这种情况。

9 个答案:

答案 0 :(得分:16)

从Phonegap 3开始,您现在可以通过config.xml获取customize plist个文件。

代码:

<gap:config-file platform="ios" parent="UIViewControllerBasedStatusBarAppearance" overwrite="true">
    <false/>
</gap:config-file>

答案 1 :(得分:14)

通常,您可以编辑info.plist并添加以下密钥:

 <key>UIViewControllerBasedStatusBarAppearance</key><false/>

但是由于你无法在构建时执行此操作,因此您必须添加一个插件:

https://github.com/phonegap-build/StatusBarPlugin/blob/master/README.md

然后:

  

StatusBar.hide();

答案 2 :(得分:14)

将此功能添加到MainViewController.m文件中:

//fix not hide status on ios7
- (BOOL)prefersStatusBarHidden
{
    return YES;
}

答案 3 :(得分:6)

点击XCode根项目文件夹下的“projectname-Info.plist”文件,您将看到一个UI,您可以在其中看到键和值条目,您可以添加/删除键,添加一个新密钥,只需查找“状态栏最初隐藏”,并将“YES”设置为值。

答案 4 :(得分:4)

我在config.xml中使用以下内容,它完全删除状态栏,在iOS 7.0.3&amp; 7.0.4,Phonegap 3.0.0版如果有帮助的话。

    <preference name="fullscreen" value="true" />

答案 5 :(得分:3)

对于Cordova,我不得不做两件事。

  1. 当我使用XCode构建时,我将Target-&gt; Statusbar样式设置为 - &gt;隐 这会在启动画面上隐藏状态栏。

  2. 您必须在设备准备好的插件中隐藏它。否则,它会重新出现。为此,请安装插件:

  3. cordova plugin add org.apache.cordova.statusbar

    并在deviceready上调用它:

    StatusBar.hide();
    

答案 6 :(得分:3)

只需安装状态栏插件(我使用Cordova 5.x):

cordova plugin add cordova-plugin-statusbar@1.0.1

您的代码中只引用其全局变量并使用.hide():

StatusBar.hide()

答案 7 :(得分:1)

这对我有用:

<preference name="fullscreen" value="true" />

我正在使用Android。

答案 8 :(得分:0)

我已经为删除状态栏altogether in your previous question

解答了这个问题

基本部分:

我在Cordova 3.6 + iOS 7.1中使用它可以很好地工作。考虑到iOS 7和8各占50%的市场份额,这个解决方案就足够了。

插件我使用:org.apache.cordova.statusbar

而不是使用我使用的StatusBar.hide()

var hideSb = function(){
//        StatusBar.hide;
        cordova.exec(null, null, 'StatusBar', 'hide', ['Ehi', 'You']);
    };