web-dev-qa-db-fra.com

Comment supprimer la barre d'état iOS avec Phonegap Build?

Est-il possible de se débarrasser de la barre d'état dans iOS7 en utilisant Phonegap Build 3.1? Je peux supprimer la barre d'état lors de la création locale dans Xcode, mais dès que j'essaie Phonegap Build, il revient. 

  1. Existe-t-il une préférence de configuration pour supprimer complètement la barre d'état? 
  2. Sinon, est-il possible de superposer la barre d'état au-dessus de la vue de l'application et de la définir sur un arrière-plan transparent? 

Je veux pas veux que la barre d’état abaisse la vue de l’application 20px, ce qui est le cas actuellement.

24

Depuis Phonegap 3, vous pouvez maintenant personnaliser les fichiers plist via le fichier config.xml.

Code:

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

Habituellement, vous éditez le fichier info.plist et ajoutez cette clé:

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

Mais comme vous ne pouvez pas le faire lors de la compilation, vous devrez ajouter un plugin:

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

Et alors:

StatusBar.hide (); 

14
MPaulo

Ajoutez cette fonction dans le fichier MainViewController.m:

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

cliquez sur le fichier "nom_projet-Info.plist" situé dans le dossier du projet racine XCode; une interface utilisateur s'affiche, vous permettant de voir les entrées clé/valeur, vous pouvez ajouter/supprimer des clés, ajouter une nouvelle clé recherchez "La barre d'état est initialement masquée" et définissez "OUI" comme valeur.

6
mrMaF

J'utilise les éléments suivants dans config.xml qui suppriment complètement la barre d'état, testée sur iOS 7.0.3 et 7.0.4, Phonegap version 3.0.0 si cela aide.

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

Avec Cordova, je devais faire 2 choses. 

  1. Lorsque je construis avec XCode, je règle dans Cible-> Style de barre d'état sur -> HIDDEN Cela cacherait la barre d'état au démarrage sur votre écran de démarrage.

  2. Vous devez aussi le cacher sur l'appareil prêt avec le plugin. Sinon, il réapparaîtra. Pour cela, installez le plugin:

cordova plugin add org.Apache.cordova.statusbar

et appelez ceci deviceready: 

StatusBar.hide();
3
Dima

Installez simplement le plug-in de la barre d'état (j'utilise Cordova 5.x):

cordova plugin add [email protected]

Le dans votre code fait simplement référence à sa variable globale et utilise .hide ():

StatusBar.hide()
3
occasl

Cela a fonctionné pour moi:

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

Je travaille sur Android.

J'ai répondu à ceci pour supprimer la barre d'état tout à fait dans votre question précédente

La partie essentielle:

Cela a fonctionné à merveille dans Cordova 3.6 + iOS 7.1. Et considérant que iOS 7 et 8 ont chacun 50% de part de marché, cette solution devrait suffire.

Plugin que j'utilise: org.Apache.cordova.statusbar

Au lieu d'utiliser StatusBar.hide() j'ai utilisé:

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