Die Hauptansicht meiner App hat eine uiwebview. Es ist für einen Sekundenbruchteil weiß, bevor es Zeit hat, den HTML-Code der App zu rendern.
Gibt es eine Möglichkeit, das uiwebview schwarz oder eine andere Farbe zu machen, bevor es gerendert wird? Der Blitz von Weiß ist nicht Teil meines Plans für einen reibungslosen visuellen Übergang.
Objective-C oder MonoTouch Antworten sind in Ordnung, ich bin zweisprachig.
Eine Sache, die Sie ausprobieren können, ist, dass Sie einen UIView mit der gewünschten Farbe platzieren und ihn über dem UIWebView mit der gleichen Breite und Höhe positionieren. Setzen Sie dann in der webViewDidFinishLoad-Methode die UIView auf hidden.
Eine andere Sache, die Sie ausprobieren sollten, ist, die Ansicht transparent zu machen:
%Vor% Dies führt jedoch zu zusätzlichen Compositing-Arbeiten, so dass Sie diese Werte nach dem Laden Ihrer Webansicht in webViewDidFinishLoad:
auf etwas benutzerfreundlicher einstellen können.
Ich kann die Antwort noch nicht kommentieren. @Steve, eigentlich ist es möglich, mit Storyboards zu tun.
Platzieren Sie eine UIView unter der UIWebView und:
%Vor%Denken Sie daran, dass nach dem Laden über JS eine Menge Seitenabruf-Sachen geladen werden, so dass Sie immer noch ein paar Sekunden nach dem
eine weiße Seite hinterlassen können %Vor%Um Steve Madsens Antwort hinzuzufügen (da ich noch nicht kommentieren kann). Wenn Sie das UIWebView in Interface Builder instanziiert haben, können Sie Alpha nicht auf 0.0 setzen, aber Sie können die Farbauswahl aufrufen, um eine Hintergrundfarbe festzulegen (weiß, schwarz, grau, egal) Deckkraft dieser Farbe auf null Prozent, und das funktioniert.