2015-07-11 7 views
6

Mam wspólny plik css i dynamiczny tekst w html. Próbuję załadować plik css z dysku i używać dynamicznego tekstu HTML do wyświetlania w interfejsie UIWebView zamiast umieszczać to samo css jako tekst w kółko za pomocą tekstu html.Jak zaimportować plik css w UIWebView, gdy używam metody loadHTMLString() w swift (iOS)

Próbuję w ten sposób.

var sometext = "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\"></head>" + "<body><p>some text goes here</p></body></html>" 
let mainbundle = NSBundle.mainBundle().bundlePath 
let bundleURL = NSURL(fileURLWithPath: mainbundle) 
self.webview.loadHTMLString(sometext, baseURL: bundleURL) 

Teraz problem polega na tym, że css nie dostaje się do html. Czy jest ktoś, kto może pomóc, myślę, że utknąłem.

Proszę o pomoc. Dzięki!

+0

Trzeba patrzeć na to pytanie: http://stackoverflow.com/questions/5053109/how-can-i-add-an-external-stylesheet-to-a-uiwebview-in-xcode można uzyskać pomoc –

+0

@AshishKakkad: Zaktualizowałem swój kod na podstawie tego, co powiedziałeś, ale css nie jest aplikowany. czy możesz pomóc, proszę? – russell

+0

Proszę chłopaki Potrzebuję pomocy w tym, utknąłem. – russell

Odpowiedz

5

Miałem ten sam problem. Mój kod był prawie identyczny z tym, który opublikował Russell.

Dodanie mojego pliku css do projektu nie było wystarczające. Musiałem odwołać się do pliku na liście "Kopiuj zasoby pakietu" w ustawieniach fazy kompilacji.

Jak odwoływać się do pliku w Xcode 7:

  1. Wybierz zakładkę Budowa Phase
  2. Przewiń w dół do sekcji „Kopiowanie Bundle Resources” i dodać plik. (Uwaga:. Jeśli pliki * .css nie pojawi się na liście Kliknij przycisk „Dodaj Inny” przycisk)
  3. W oknie opcji wybierz „Utwórz folder Reference”

to wszystko. To działało dla mnie.

+0

Skąd mam wiedzieć, że css został zastosowany do mojego widoku sieciowego (zasób pakietu ma kilka plików) @Thu Trinh –

0

miałem ten problem i okazało się, że przy kopiowaniu mój plik do mojego projektu musiałem wybrać „Utwórz folder Reference” zamiast „Utwórz grupę” w oknie popup.