J'ai un UIWebView dans mon application que je souhaite utiliser pour afficher une image qui sera liée à une autre URL.
j'utilise
<img src="image.jpg" /> to load the image.
Le problème est que l'image ne se charge pas (c'est-à-dire qu'elle ne peut pas être trouvée) même si elle est ajoutée en tant que ressource dans mon projet et copiée dans le bundle.
J'ai essayé d'utiliser NSBundle pour obtenir le chemin complet de l'image et de l'utiliser et cela n'apparaît toujours pas dans la vue Web.
Des idées?
Réponses:
Utilisation de chemins ou de fichiers relatifs: les chemins pour faire référence aux images ne fonctionnent pas avec UIWebView. Au lieu de cela, vous devez charger le HTML dans la vue avec la baseURL correcte:
Vous pouvez alors vous référer à vos images comme ceci:
(de uiwebview revisité )
la source
Utilisez ceci:
la source
bundleURL
été ajoutée dans NSBundle. Pas besoin de prendre bundlePath et de le convertir en URL. Donc, pour les personnes travaillant dans des versions supérieures à 10.6, cela donne une meilleure solution.Je viens de rencontrer ce problème aussi. Dans mon cas, je traitais de certaines images qui n'étaient pas localisées et d'autres qui l'étaient - en plusieurs langues. Une URL de base n'a pas obtenu les images dans des dossiers localisés pour moi. J'ai résolu ce problème en procédant comme suit:
Ensuite, utilisez imgHTMLTag dans votre code HTML UIWebView lorsque vous chargez le contenu.
J'espère que cela aidera quiconque a rencontré le même problème.
la source
file://
était ce dont j'avais besoin.essayez d'utiliser la chaîne d'image base64.
la source
J'ai eu un problème similaire, mais toutes les suggestions n'ont pas aidé.
Cependant, le problème était le * .png lui-même. Il n'avait pas de canal alpha . D'une manière ou d'une autre, Xcode ignore tous les fichiers png sans canal alpha pendant le processus de déploiement.
la source
Vous pouvez ajouter un dossier (disons WEB avec des sous-dossiers css, img et js et fichier test.html) à votre projet en choisissant Ajouter des fichiers à "MyProj" et en sélectionnant Créer des références de dossier . Maintenant, le code suivant s'occupera de toutes les images référencées, css et javascript
la source
Dans Swift 3:
Cela a fonctionné pour moi même lorsque l'image était à l'intérieur d'un dossier sans aucune modification.
la source
Après avoir lu quelques chapitres dans le Cookbok de programmation iOS 6 et commencé à apprendre la programmation objective-c et iOS, je voudrais simplement ajouter que si l'on veut charger des ressources à partir d'un bundle personnalisé et l'utiliser dans une vue Web , cela peut être accompli comme ceci:
Ensuite, dans votre html, vous pouvez faire référence à une ressource en utilisant le bundle "personnalisé" comme chemin de base:
la source
Version Swift de la réponse de Lithu TV:
la source
La version Swift d'Adam Alexanders Objective C répond:
la source
Si vous utilisez des liens relatifs vers des images, les images ne s'afficheront pas car toutes les structures de dossiers ne sont pas conservées après la compilation de l'application iOS. Ce que vous pouvez faire est de convertir votre dossier Web local en un ensemble en ajoutant l' extension de nom de fichier « .bundle ».
Donc, si votre site Web local est contenu dans un dossier « www », celui-ci doit être renommé « www.bundle ». Cela permet de conserver les dossiers d'images et la structure des répertoires. Chargez ensuite le fichier ' index.html ' dans la WebView sous forme de chaîne HTML avec ' baseURL ' (défini sur www.bundle path) pour activer le chargement des liens relatifs aux images.
la source
Ces réponses m'ont aidé - en particulier 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 télécharge dans le répertoire des documents. Je veux l'afficher avec un graphique local dans un UIWebView que je n'ai pas pu obtenir pour travailler. Voici ce que j'ai fait:
Donc, au démarrage, copiez le fichier dans le répertoire des documents:
la source
Ma solution complexe (ou tutoriel) pour rss-feed (get in RSSItems) ne fonctionne que sur l'appareil:
et
}
sur le contrôleur de vue
}
classe d'élément rss
partie de n'importe quel html avec image
image enregistrée sous le nom htc-one-tab-7-concept-1 (1) .jpg
la source