Nicht ändern können hintergrund für UIWebView von iOS
Gibt es eine Möglichkeit zum ändern der Hintergrundfarbe der UIWebView
?
Keiner der Farben im IB-Effekt UIWebView
Verhalten: vor dem eigentlichen Inhalt geladen ist, zeigt es, wie bisher, als weiße (wodurch ein weißer Blitz zwischen dem moment, an dem er geladen wird und der Inhalt gerendert wird).
Einstellung der Hintergrundfarbe programmgesteuert tut man nicht alles entweder.
Hier ist der code:
@interface Web_ViewViewController : UIViewController {
UIWebView *web;
}
@property (nonatomic, retain) IBOutlet UIWebView *web;
@end
....
-(void)viewDidLoad {
super viewDidLoad;
web.backgroundColor = [UIColor blueColor];
NSURL *clUrl = [NSURL URLWithString:@"http://www.apple.com"];
NSURLRequest *req = [NSURLRequest requestWithURL:clUrl];
[web loadRequest:req];
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die deckende Eigenschaft der webview auf NEIN und setzen Sie dann die Hintergrundfarbe der anzeigen unter.
webView.bakgroundColor = [UIColor clearColor]
Geben diesem einen Versuch. Es wird verblassen der UIWebView in, wenn es fertig geladen ist und Sie nicht sehen, den flash.
Der animation block in webViewDidFinishLoad verblassen der Ansicht, sobald es geladen ist, oder wenn Sie es bevorzugen pop, dann entfernen Sie einfach die UIView Anrufe.
Keiner der Antworten hier für mich gearbeitet, Sie alle beteiligten noch eine Art von flash. Fand ich eine funktionierende Antwort hier: http://www.iphonedevsdk.com/forum/iphone-sdk-development/4918-uiwebview-render-speeds-white-background.html (hatte ich zum einstellen der Verzögerung auf .25 zu vermeiden, die zu blinken). Bitte überprüfen Sie die UIWebView "hidden" - flag in den InterfaceBuilder.
Ja, es scheint die Einstellung der backgroundColor-Eigenschaft hat keine Auswirkung auf die UIWebView.
Habe ich nicht eine zufriedenstellende Lösung, nur ein workaround, das Sie betrachten können.
Wenn Sie nicht warten, bis die erste HTML-Seite zu laden, Sie können nicht sehen, die Hintergrundfarbe, während die Haupt-URL wird geladen. So müssen Sie mit der UIWebViewDelegate ist webViewDidFinishLoad: Methode. Implementieren Sie diese Methode in Ihre Web_ViewViewController Klasse, und machen Sie Ihre Web_ViewViewController entsprechen den UIWebViewDelegate Protokoll. Zunächst gibt es noch ein momentanes Aufflackern von weißen hintergrund, bis der empth HTML-Seite geladen wird. Nicht sicher, wie Sie Sie loswerden dass. Unten ist ein Beispiel:
Habe ich eine Lösung.
Fügen Sie die web-Ansicht, nachdem es geladen ist.
Ausprobieren. Benutzt habe ich ein hintergrund Bild " - Adresse.png" von meiner Anwendung Ressourcen.
In Xcode 4.6.3
Dies könnte helfen,
(Xcode 5 iOS 7) Universal-App z.B. für iOS 7 und Xcode 5. Es ist ein open-source-Projekt /Beispiel befindet sich hier: Link zu SimpleWebView (Projekt-Reißverschluss und Source-Code-Beispiel)
webview.backgroundColor = [UIColor clearColor];