web-dev-qa-db-de.com

Weiße Statusleiste in iOS Phonegap?

wie mache ich die obere Statusleiste in Phonegap 3.1.0 für iOS7 mit weißem Text durchscheinend?

Die App sieht in Mobile Safari gut aus, aber wenn ich versuche, sie in Phonegap auszuführen, ist der Text in der oberen Leiste nur während des Ladens der App weiß, danach ist er schwarz, egal welche Einstellungen ich in der Projektkonfiguration vorgenommen habe.

Im Moment ist <meta name="Apple-mobile-web-app-status-bar-style" content="black-translucent"> in der Webseite & 'Status Bar Style' = 'Schwarz durchscheinend' in XCode ... hilft nicht.

Bitte helfen Sie!

11
user3007104

Sie können dies tun, ohne Meta-Tags zu verwenden oder irgendetwas in XCode zu bearbeiten.

Installieren Sie zuerst das Statusleisten-Plugin über die CLI:

cordova plugin add cordova-plugin-statusbar

Dann können Sie diese Einstellungen verwenden, um die Statusleiste (in config.xml) zu gestalten:

<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarStyle" value="lightcontent" />

Auf diese Weise erhalten Sie in iOS 7 eine transparente Leiste mit weißem Text. Weitere Optionen finden Sie unter http://plugins.cordova.io/#/package/org.Apache.cordova.statusbar

25
rickdmer

endlich habe ich lösung gefunden.

Stellen Sie sicher, dass Sie Folgendes haben: In Ihrer index.html haben Sie folgendes Meta-Tag:

<meta name="Apple-mobile-web-app-status-bar-style" content="black-translucent">

Öffnen Sie bei Xcode die Datei [YourPrjectName] .plist und fügen Sie folgende Zeilen hinzu:

"Status bar style" = "Transparenter schwarzer Stil (Alpha von 0,5)" AND
"Controller-basierte Statusleiste anzeigen" = "NEIN"

Ohne zweiten Line-In geht das nicht (eigentlich war das in meinem Fall das Problem).

10
user3007104

wenn Sie Phonegap Build verwenden, können Sie anrufen

StatusBar.styleLightContent();

https://github.com/phonegap-build/StatusBarPlugin

2
Leo Chen

Werfen Sie einen Blick auf den unten stehenden Link, ich hoffe, dies könnte Ihnen helfen.

http://devgirl.org/2014/07/31/phonegap-developers-guid/

1
Gilana

Vielleicht ist es zu spät, aber jemand anderes mit der gleichen Frage kann dies beheben, indem er das folgende Plugin installiert.

cordova plugin add cordova-plugin-disable-ios11-statusbar --save

Dann erstelle die App und starte sie. Das Problem ist gelöst

1

Fügen Sie diesen hinzu

function onDeviceReady() {
  if (parseFloat(window.device.version) === 7.0) {
      document.body.style.marginTop = "20px";
   }
 }

document.addEventListener('deviceready', onDeviceReady, false);

Das Problem mit der Statusleiste in iOS7

http://coenraets.org/blog/2013/09/phonegap-and-cordova-with-ios-7/

0
Ved

Ich dachte, eine aktuellere Antwort könnte hier jemandem helfen. Dies funktioniert in Cordova 3.7+ und iOS 8.x und macht das zusätzliche Plugin überflüssig.

Stellen Sie in der Plist-Datei Ihres Projekts sicher, dass "Statusleiste anfangs ausgeblendet ist" und "Controller-basierte Statusleistenanzeige anzeigen" auf "NEIN" gesetzt sind.

Fügen Sie dann in MainViewController.m in - (void)viewDidLoad Folgendes hinzu:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];

oder

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];

für weißen oder schwarzen Text in Ihrer Statusleiste.

Alternativ können Sie beide Plist-Attribute auf YES setzen, um sie vollständig auszublenden.

0
OliverJ90