Ich bin eine kleine Menge an lokalen Inhalten in einem UIWebView angezeigt, etwa 3 Absätze Text und ein 100x100px Bild. Wenn das UIWebView auf den Nav-Controller geschoben wird, dauert es etwa eine halbe Sekunde, bis der Inhalt angezeigt wird. Dies geschieht auf dem Gerät, nicht im Simulator. Offensichtlich muss das UIWebView etwas arbeiten, bevor der Inhalt angezeigt wird, aber gibt es eine Möglichkeit, dies zu tun, bevor die Push-Ansicht erscheint? Ich habe selbst kein Glück gehabt.UIWebView Verzögerung beim Laden lokaler Inhalte
Hier ist, wo ich die Erstellung und den View-Controller drücken, die die UIWebView enthält:
ArticleViewController* viewController = [[ArticleViewController alloc] init];
viewController.article = article;
[viewController view]; //touch the view so it gets loaded
[viewController loadWebView]; //load the web view content
[self.navigationController pushViewController:viewController animated:YES];
[viewController release];
Und hier ist die loadWebView
Methode:
-(void)loadWebView {
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
NSString* content = article.content;
NSString *html = [NSString stringWithFormat:@"\
<html><body style='background-color: transparent'><style type=""text/css"">body {font-family: helvetica; color: black; font-size: 10pt; margin: 10px 10px 10px 10px}</style>\
%@<div style='text-align:center'><a href='13443574_9709e4cf37.jpg?photographer=test' style='-webkit-tap-highlight-color:rgba(0,0,0,0);'><img src='13443574_9709e4cf37.jpg' height='160' width='230'></a></div></body></html>", content];
[self.webView loadHTMLString:html baseURL:baseURL];
}
Vorher hatte ich [viewController loadWebView]
im viewDidLoad Verfahren , aber das Ergebnis scheint dasselbe zu sein. Ein leerer Bildschirm, wenn der viewController gedrückt wird, gefolgt von dem Inhalt, der eine halbe Sekunde später geladen wird.
Irgendwelche Ideen?
DANKE !!!!! Webkit muss in der Tat aufgewärmt werden –
Dies sollte die akzeptierte Antwort sein –