W mojej aplikacji mam UIWebView, którego chcę użyć do wyświetlenia obrazu, który będzie linkiem do innego adresu URL.
używam
<img src="image.jpg" /> to load the image.
Problem polega na tym, że obraz nie ładuje się (tj. Nie można go znaleźć), mimo że jest dodawany jako zasób w moim projekcie i jest kopiowany do pakietu.
Próbowałem użyć NSBundle, aby uzyskać pełną ścieżkę obrazu i używając tego, ale nadal nie pojawia się w widoku sieciowym.
Jakieś pomysły?
Odpowiedzi:
Używanie względnych ścieżek lub plików: ścieżki do odwoływania się do obrazów nie działa z UIWebView. Zamiast tego musisz załadować kod HTML do widoku z poprawnym baseURL:
Następnie możesz odwołać się do swoich obrazów w ten sposób:
(z ponownego odwiedzenia uiwebview )
źródło
Użyj tego:
źródło
bundleURL
została dodana w pakiecie NSBundle. Nie ma potrzeby wykonywania bundlePath i konwertowania do adresu URL. Więc dla osób pracujących w wersjach wyższych niż 10.6 daje to lepsze rozwiązanie.Właśnie napotkałem ten problem. W moim przypadku miałem do czynienia z niektórymi obrazami, które nie były zlokalizowane, a innymi, które były - w wielu językach. Podstawowy adres URL nie spowodował, że obrazy znajdowały się w zlokalizowanych folderach. Rozwiązałem to, wykonując następujące czynności:
Następnie użyj imgHTMLTag w kodzie HTML UIWebView podczas ładowania zawartości.
Mam nadzieję, że pomoże to każdemu, kto napotkał ten sam problem.
źródło
file://
było tym, czego potrzebowałem.spróbuj użyć łańcucha obrazu base64.
źródło
Miałem podobny problem, ale wszystkie sugestie nie pomogły.
Jednak problemem był sam plik * .png. Nie miał kanału alfa . W jakiś sposób Xcode ignoruje wszystkie pliki png bez kanału alfa podczas procesu wdrażania.
źródło
Możesz dodać folder (powiedzmy WEB z podfolderami css, img i js oraz plik test.html) do swojego projektu, wybierając opcję Dodaj pliki do „MyProj” i wybierając opcję Utwórz odniesienia do folderów . Teraz poniższy kod zajmie się wszystkimi wskazanymi obrazami, css i javascript
źródło
W Swift 3:
Działało to dla mnie nawet wtedy, gdy obraz znajdował się w folderze bez żadnych modyfikacji.
źródło
Po przeczytaniu kilku rozdziałów w Cookbok Programowanie na iOS 6 i rozpoczęciu nauki programowania w celu-c i iOS, chciałbym tylko dodać, że jeśli ktoś ma ładować zasoby z niestandardowego pakietu i używać go w widoku sieciowym można to zrobić w następujący sposób:
Następnie w swoim html możesz odwołać się do zasobu, używając pakietu „niestandardowego” jako ścieżki podstawowej:
źródło
Szybka wersja odpowiedzi Lithu TV:
źródło
Szybka wersja odpowiedzi Adama Alexandersa na cel C:
źródło
Jeśli używasz linków względnych do obrazów, obrazy nie będą wyświetlane, ponieważ wszystkie struktury folderów nie są zachowywane po skompilowaniu aplikacji na iOS. Zamiast tego możesz przekonwertować lokalny folder sieciowy na pakiet , dodając plik „ .bundle rozszerzenie nazwy pliku ”.
Jeśli więc lokalna witryna znajduje się w folderze „ www ”, należy zmienić jego nazwę na „ www.bundle ”. Pozwala to na zachowanie folderów obrazów i struktury katalogów. Następnie załaduj plik „ index.html ” do WebView jako ciąg znaków HTML z „ baseURL ” (ustawionym na ścieżkę www.bundle), aby umożliwić ładowanie odnośników do obrazów względnych.
źródło
Te odpowiedzi pomogły mi - w szczególności plik: \\ xxxxxxx.xxx, ale musiałem zastosować obejście, aby wyświetlić obraz.
W moim przypadku mam na serwerze plik HTML, który pobieram do katalogu dokumentów. Chcę, aby wyświetlał się z lokalną grafiką w UIWebView, którego nie mogłem uruchomić. Oto co zrobiłem:
Więc podczas uruchamiania skopiuj plik do katalogu dokumentów:
źródło
Moje złożone rozwiązanie (lub samouczek) dla źródła rss (pobierz w RSSItems) działa tylko na urządzeniu:
i
}
na kontrolerze widoku
}
klasa pozycji rss
część dowolnego kodu HTML z obrazem
obraz zapisany dla nazwy htc-one-tab-7-concept-1 (1) .jpg
źródło