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.
Je veux pas veux que la barre d’état abaisse la vue de l’application 20px, ce qui est le cas actuellement.
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>
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 ();
Ajoutez cette fonction dans le fichier MainViewController.m:
//fix not hide status on ios7
- (BOOL)prefersStatusBarHidden
{
return YES;
}
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.
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" />
Avec Cordova, je devais faire 2 choses.
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.
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();
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()
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']);
};