À l'aide de HTML et des Images Locales Dans UIWebView
J'ai une UIWebView dans mon application que je veux utiliser pour afficher une image qui sera un lien vers une autre url.
Je suis en utilisant
<img src="image.jpg" /> to load the image.
Le problème est que l'image ne se charge pas (ie. il ne peut pas être trouvé), même si elle est ajoutée en tant que ressource dans mon projet et est copié dans le bundle.
J'ai essayé d'utiliser NSBundle pour obtenir le chemin complet de l'image et en utilisant cela et cela ne fonctionne toujours pas s'afficher dans la vue web.
Des idées?
- Je ne suis plus capable de faire cela comme de l'iPhone OS 3.0. 🙁 Plus d'infos StackOverflow.com).
- Pourquoi la baisse de vote? :/
- Ce n'est pas nécessairement qu'ils sont mauvais. Peut-être qu'ils avaient un motif légitime? Nous allons probablement ne sait jamais. Si seulement ils avaient d'avoir la courtoisie d'expliquer pourquoi ils ont voté dans un commentaire...
- Il devrait être obligatoire à écrire un commentaire sur un vote vers le bas.
- besoin des mêmes fonctionnalités. mais je ne peux pas comprendre ce qui doit être transmis dans htmlString dans [webView loadHTMLString:htmlString baseURL:baseURL] et comment j'ai mis <img src="image.jpg" /> mon image dans le html.
- vous pouvez vous référer à ma réponse sur ce post, j'espère qu'elle travail pour vous [ stackoverflow.com/a/43011715/1316779 ](stackoverflow.com/a/43011715/1316779)
Vous devez vous connecter pour publier un commentaire.
Utiliser des chemins relatifs ou d'un fichier: la voie de la référence à des images qui ne fonctionne pas avec UIWebView. Au lieu de cela, vous devez charger le code HTML dans la vue avec le bon baseURL:
Vous pouvez vous référer à vos images comme ceci:
(à partir de uiwebview revisité)
Utiliser ceci:
bundleURL
a été ajouté dans NSBundle. Pas besoin de prendre bundlePath et de les convertir à l'URL. Donc pour les personnes qui travaillent dans les versions ultérieures à 10.6 cela donne une meilleure solution.Je viens de tomber sur ce problème aussi. Dans mon cas, j'ai été face à certaines images qui n'étaient pas localisées et d'autres qui ont été-dans plusieurs langues. Une URL de base n'a pas eu les images à l'intérieur localisée dossiers pour moi. J'ai résolu ce problème en procédant comme suit:
Ensuite, utilisez imgHTMLTag dans votre UIWebView code HTML lorsque vous chargez le contenu.
J'espère que cela aide quelqu'un qui a couru dans le même problème.
file://
était ce dont j'avais besoin.essayez d'utiliser base64 image de la chaîne.
J'ai eu un simmilar problème, mais toutes les suggestions n'ont pas les aider.
Cependant, le problème était l' *.png lui-même. Il n'avait pas de canal alpha. En quelque sorte Xcode ignore tous les fichiers png sans canal alpha au cours du processus de déploiement.
Vous pouvez ajouter un dossier (disons WEB, avec des sous-dossiers css, img et js et fichier test.html) pour votre projet en choisissant Ajouter des Fichiers à "MyProj" et en sélectionnant Créer un dossier de références. Maintenant, le code suivant va prendre soin de toutes les images, css et javascript
Dans Swift 3:
Cela a fonctionné pour moi, même lorsque l'image était à l'intérieur d'un dossier, sans aucune modification.
Après avoir lu quelques chapitres dans l'iOS 6 Programmation Cookbok et de commencer à apprendre l'objective-c et iOS de la programmation, je voudrais juste ajouter, que si l'on va charger les ressources à partir d'un personnalisé bundle et de l'utiliser en mode web, il peut être accompli comme ceci:
Puis, dans le html, vous pouvez vous référer à une ressource à l'aide de la "coutume" bundle votre chemin d'accès de base:
Swift Version de Lithu T. V réponse:
Swift version d'Adam Alexanders Objective C réponse:
Si vous utilisez des liens relatifs à des images les images ne s'affiche pas comme toutes les structures de dossier ne sont pas conservés après l'application iOS est compilé. Ce que vous pouvez faire est de convertir votre site web local dossier dans un bundle plutôt que par l'ajout d'un".bundle' extension de fichier.
Donc, si votre site web est contenu dans un dossier "www", ce qui devrait être renommé "http://www.bundle". Cela permet à l'image des dossiers et de la structure de répertoire afin d'être préservée. Ensuite, chargez lesindex.html' fichier dans la WebView comme une chaîne HTML avec " baseURL' (à http://www.bundle chemin d'accès) afin de permettre le chargement par rapport à des liens d'image.
Ces réponses m'a aidé, plus précisément le fichier:\\xxxxxxx.xxx, mais j'ai dû faire une solution de contournement pour afficher l'image.
Dans mon cas, j'ai un fichier HTML sur mon serveur que je les télécharger dans le répertoire documents. Je veux qu'il affiche avec un graphique dans une UIWebView que je ne pouvais pas me rendre au travail. Voici ce que j'ai fait:
Afin de démarrage de copie du fichier dans le répertoire documents de l':
Ma solution complexe (ou un tutoriel) pour les flux rss (entrer en RSSItems) ne fonctionne que sur l'appareil:
et
}
sur View controller
}
rss de classe de l'élément
partie de tout code html avec image
image enregistrée pour le nom htc-one-tab-7-notion-1(1).jpg