Ich schreibe eine Phonegap 3.0+ App.
Es gibt ein Problem mit der Statusleiste überlappende Ansichten in iOS7, die Ludwig Kristoffersson hier eine funktionierende Antwort lieferte
Nun, da ich UIWebView mit einem oberen 20px Rand habe, wie kann ich die UIWebView Hintergrundfarbe ändern? Ich brauche den Bereich hinter der Statusleiste mit der gleichen Hintergrundfarbe wie die Symbolleiste "Personen".
Ich habe fast keine Erfahrung in Objective C und habe mögliche SO-Fragen durchgelesen, um eine funktionierende Lösung zu finden, aber ohne Erfolg.
Hintergrundfarbe von UIWebView
Der UIWebView-Hintergrund ist auf Clear Color eingestellt, aber nicht transparent
Unten ist der Code, den ich bisher versucht habe:
UPDATE 1
%Vor%Das scheint mir immer noch einen weißen Hintergrund hinter der Statusleiste zu geben, anstatt grau.
Das Ergebnis, auf das ich hoffe, ist so:
Also habe ich festgestellt, dass der Code das UIWebView um 20px runterdrückt. Das bedeutet, dass der weiße Bereich per Definition nicht UIWebView sein kann. Der weiße Bereich ist die Hauptansicht, in der ich die Hintergrundfarbe geändert habe, indem ich folgendes gemacht habe:
1. Gehen Sie zu MainViewController.xib:
2. Wählen Sie die Hauptansicht:
3. Zeigen Sie den Attributinspektor an und ändern Sie die Farbe. Fertig.
Offensichtlich jetzt, dass ich darüber nachdenke, aber hoffentlich hilft das jemandem in der Zukunft.
Dies funktioniert für Cordova 3 und Cordova 2.9
Nachdem Sie die Hintergrundfarbe Ihrer App wie folgt über CSS eingestellt haben:
%Vor%Gehen Sie zu CordovaXlib.xcode.proj und suchen Sie nach dem Ordner "Classes" HauptansichtController.m Zeile # 142
Entfernen Sie die Kommentarzeichen für die Methode oder Funktion "webViewDidStartLoad" und fügen Sie einfach
hinzu %Vor%Sie werden also so etwas haben:
%Vor% Cordova 3.5 setzt die Hintergrundfarbe in MainViewController.m 's (void)webViewDidFinishLoad:(UIWebView*)theWebView
:
Das Ändern oder Auskommentieren dieser Zeile erlaubte mir, die Farbe des iOS-Bildschirms hinter der Webansicht zu ändern.
Danke bar54 für die Beschreibung dieser Lösung.
Alternativ können Sie einen 20-Pixel-Rand auf den HTML-Text in Ihrem UIWebView setzen, und dann wird die Hintergrundfarbe in Ihrem CSS ganz nach oben gehen.
%Vor%Beachten Sie, dass Ihre App das hinzugefügte Geräteplugin benötigt, damit dies funktioniert.
Tags und Links cordova objective-c ios uiwebview ios7