J'ai actuellement un UIWebView qui est affiché dans une vue modale. Il s'agit essentiellement d'une vue détaillée qui fournit une vue d'une page lorsque l'utilisateur clique sur un lien. Lorsque la vue est ignorée puis reprise (lorsque l'utilisateur clique sur un autre lien), le contenu précédemment chargé est toujours visible et le nouveau contenu se charge «au-dessus» du dernier contenu. Cela est logique car l'instance de UIWebView persiste entre les sessions et n'est libérée que lorsque la mémoire est nécessaire.Effacer le contenu d'UIWebView en cas de rejet de la vue modale (iPhone OS 3.0)
Cependant, je voudrais effacer complètement le UIWebView quand la vue modale est fermée de sorte que 1) le contenu soit effacé et 2) la mémoire soit libérée. Jusqu'à présent, mes recherches et tentatives n'ont pas trouvé de réponse. Ces liens n'ont pas fonctionné pour moi:
- is it possible to free memory of UIWebView?
- Reused UIWebView showing previous loaded content for a brief second on iPhone
J'ai essayé [[NSURLCache sharedURLCache] removeAllCachedResponses];
et la mise WebView à zéro et de libérer manuellement le webView sur-vue modal à pas rejeter profiter. Des pensées des masses ratatinées?
Parfait! Probablement la solution la plus simple pour l'effacement visuel du webview. Je ne comprends toujours pas pourquoi loadHTMLString est si lent. Peut-être que c'est parce que je charge une autre page directement après, et webview arrête de charger et d'afficher la page vide quand il commence à charger le nouveau. – Cray
La meilleure solution ici. Je ne sais pas pourquoi ce n'est pas la meilleure réponse. Quoi qu'il en soit - Bonne réponse !! – filou
La meilleure chose à propos de cette méthode est que la méthode déléguée webViewDidFinishLoad ne sera pas appelée! – user523234