Je visualise une petite quantité de contenu local dans un UIWebView, soit environ 3 paragraphes de texte et une image 100x100px. Lorsque le UIWebView est poussé sur le contrôleur de navigation, il prend environ une demi-seconde avant que le contenu est affiché. Cela se produit sur l'appareil, pas dans le simulateur. Évidemment, UIWebView doit faire un peu de travail avant d'afficher le contenu, mais est-il possible de le faire avant que l'affichage poussé ne s'affiche? Je n'ai pas eu de chance de le faire moi-même.Retard UIWebView lors du chargement de contenu local
est ici où je créais et en poussant le contrôleur de vue qui contient le UIWebView:
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];
Et voici la méthode loadWebView
:
-(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];
}
Auparavant, j'avais [viewController loadWebView]
dans la méthode viewDidLoad , mais le résultat semble être le même. Un écran vide lorsque le viewController est enfoncé, suivi du chargement du contenu une demi-seconde plus tard.
Des idées?
MERCI !!!!! webkit doit en effet être réchauffé –
Ceci devrait être la réponse acceptée –