Ich habe eine UIWebView in meiner App, mit der ich ein Bild anzeigen möchte, das mit einer anderen URL verknüpft ist.
Ich benutze
<img src="image.jpg" /> to load the image.
Das Problem ist, dass das Bild nicht geladen wird (dh nicht gefunden werden kann), obwohl es als Ressource in meinem Projekt hinzugefügt und in das Bundle kopiert wurde.
Ich habe versucht, mit NSBundle den vollständigen Pfad des Bildes abzurufen, und es wird immer noch nicht in der Webansicht angezeigt.
Irgendwelche Ideen?
Antworten:
Verwenden relativer Pfade oder Dateien: Pfade zum Verweisen auf Bilder funktionieren mit UIWebView nicht. Stattdessen müssen Sie den HTML-Code mit der richtigen baseURL in die Ansicht laden:
Sie können dann wie folgt auf Ihre Bilder verweisen:
(von uiwebview überarbeitet )
quelle
Benutze das:
quelle
bundleURL
in NSBundle hinzugefügt. Sie müssen nicht bundlePath nehmen und in eine URL konvertieren. Für Benutzer, die in Versionen über 10.6 arbeiten, ist dies eine bessere Lösung.Ich bin auch gerade auf dieses Problem gestoßen. In meinem Fall handelte es sich um einige Bilder, die nicht lokalisiert waren, und andere, die - in mehreren Sprachen - waren. Eine Basis-URL hat die Bilder für mich nicht in lokalisierten Ordnern abgerufen. Ich habe dies folgendermaßen gelöst:
Verwenden Sie dann imgHTMLTag in Ihrem UIWebView-HTML-Code, wenn Sie den Inhalt laden.
Ich hoffe, das hilft jedem, der auf das gleiche Problem gestoßen ist.
quelle
file://
war das, was ich brauchte.Versuchen Sie, eine Base64-Bildzeichenfolge zu verwenden.
quelle
Ich hatte ein ähnliches Problem, aber alle Vorschläge halfen nicht.
Das Problem war jedoch die * .png selbst. Es hatte keinen Alphakanal . Irgendwie ignoriert Xcode während des Bereitstellungsprozesses alle PNG-Dateien ohne Alpha-Kanal .
quelle
Sie können Ihrem Projekt einen Ordner hinzufügen (z. B. WEB mit Unterordnern css, img und js sowie die Datei test.html), indem Sie Dateien zu "MyProj hinzufügen" und Ordnerreferenzen erstellen auswählen . Der folgende Code kümmert sich nun um alle verwiesenen Bilder, CSS und Javascript
quelle
In Swift 3:
Dies funktionierte für mich auch dann, wenn sich das Bild ohne Änderungen in einem Ordner befand.
quelle
Nachdem ich einige Kapitel im iOS 6-Programmier-Cookbok gelesen und angefangen habe, Objective-C- und iOS-Programmierung zu lernen, möchte ich nur hinzufügen, dass, wenn man Ressourcen aus einem benutzerdefinierten Bundle laden und diese in einer Webansicht verwenden möchte kann es so erreicht werden:
Anschließend können Sie in Ihrem HTML-Code auf eine Ressource verweisen, indem Sie das "benutzerdefinierte" Bundle als Basispfad verwenden:
quelle
Schnelle Version der Antwort von Lithu TV:
quelle
Schnelle Version von Adam Alexanders Ziel C Antwort:
quelle
Wenn Sie relative Links zu Bildern verwenden, werden die Bilder nicht angezeigt, da nach dem Kompilieren der iOS-App nicht alle Ordnerstrukturen erhalten bleiben. Was können Sie tun , ist Ihre lokale Web konvertieren Ordner in ein Bündel anstatt durch Hinzufügen der ‚ .bundle ‘ Dateinamenerweiterung.
Wenn Ihre lokale Website in einem Ordner " www " enthalten ist, sollte dieser in " www.bundle " umbenannt werden. Dadurch können die Bildordner und die Verzeichnisstruktur beibehalten werden. Laden Sie dann die Datei ' index.html ' als HTML-Zeichenfolge mit ' baseURL ' (festgelegt auf www.bundle path) in das WebView , um das Laden relativer Bildlinks zu ermöglichen.
quelle
Diese Antworten haben mir geholfen - insbesondere die Datei: \\ xxxxxxx.xxx, aber ich musste eine Problemumgehung durchführen, um das Bild anzuzeigen.
In meinem Fall habe ich eine HTML-Datei auf meinem Server, die ich in das Dokumentenverzeichnis herunterlade. Ich möchte, dass es mit einer lokalen Grafik in einer UIWebView angezeigt wird, die ich nicht zum Arbeiten bringen konnte. Folgendes habe ich getan:
Kopieren Sie die Datei beim Start in das Dokumentenverzeichnis:
quelle
Meine komplexe Lösung (oder Tutorial) für RSS-Feed (in RSSItems erhalten) funktioniert nur auf dem Gerät:
und
}}
on View Controller
}}
RSS-Artikelklasse
Teil eines HTML mit Bild
Bild gespeichert für Name htc-one-tab-7-concept-1 (1) .jpg
quelle