2011-07-07 33 views
47

Załaduję ciąg znaków HTML do UIWebView, aby móc wyświetlać tekst sformatowany. Jak na razie dobrze. Ale mam jeden mały problem: w moim pliku Nib ustawiam atrybut tła na zielony. Po wyświetleniu tło jest białe. Następnie w pliku klasy dodałem kolejne:Kolor tła UIWebView

[myWebView setBackgroundColor:[UIColor greenColor]]; 
    [myWebView loadHTMLString:myString baseURL:nil]; 

Jednak tło jest nadal białe. Próbowałem nawet odwrócić kolejność, ale wciąż wychodzi białe tło.

Jest więcej tekstu niż rozmiar UIWebView. Zauważyłem, że kiedy przewijam w dół za koniec tekstu, tło jest zielone. Jak uzyskać tło dla tekstu, który będzie zielony?

Czy możesz mi doradzić, co robię źle? Bardzo doceniane.

Odpowiedz

116

Ustaw kolor tła w swoim kodzie HTML za pomocą znaczników css.

Lub ustaw Webview zaopaque właściwość NO .. i ustawić tło widoku od spodu zielony.

same wydają się nie rozumieć koloru tła - ponieważ renderują dokumenty.

+5

Tak, dziękuję you1 dodałem ustawienia nieprzejrzysty na NIE, a teraz jest doskonały . – Namhcir

+0

Ale jeszcze jedno pytanie - muszę również wyświetlić bogaty widok w komórkach widoku tabeli w widoku tabeli w poprzednim widoku. Czy pojawią się problemy, jeśli dodaję widok internetowy do tableviewcell? W przeciwnym razie, jak wyświetlić bogaty html w widoku tabeli? – Namhcir

+0

Ponieważ wszystkie są uiviews, możesz uciec z dodaniem go. Ale powinieneś przejrzeć niektóre ze skrótów HIG firmy Apple i interfejsu API interfejsu UITableView. Istnieje kilka złowieszczych ostrzeżeń o nadpisywaniu UITableCellView i zapewnieniu przejrzystości tła. – Kal

23

Użyj tego dodatek do kodu

[myWebView setBackgroundColor:[UIColor greenColor]]; 
[myWebView setOpaque:NO]; 
[myWebView loadHTMLString:myString baseURL:nil]; 
+1

Ostatnia linia zrobiła trik, ale zamiast myString napisałem zero. Następnie załadowałem moją aktualną stronę. Dzięki! – Segev

7
webView.opaque = NO; 
webView.backgroundColor = [UIColor clearColor]; 
+1

powinno to być zaakceptowaną odpowiedzią, ponieważ nie byłoby to możliwe przy ustawianiu koloru tła w sieci w celu wyczyszczenia koloru. –

2

Testowane Xcode8 i Swift 3

self.webView.isOpaque = false; 
self.webView.backgroundColor = UIColor.clear