2011-07-07 94 views
47

我正在將一個HTML字符串加載到UIWebView中,以便能夠查看富文本。到現在爲止還挺好。但我有一個小問題:在我的Nib文件中,我將背景屬性設置爲綠色。 但是,顯示時,背景爲白色。然後,在課堂文件中添加以下內容UIWebView背景色

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

但是,背景仍然是白色。我甚至嘗試顛倒順序,但仍然出現白色背景。

有比UIWebView的大小更多的文本。我注意到,當我向下滾動文本結尾時,背景變爲綠色。我如何獲得文本本身的背景爲綠色?

能否請您告訴我我做錯了什麼? 非常感謝。

回答

116

使用css標記設置html本身的背景顏色。

或者,將webview的opaque屬性設置爲NO ..並將底下的視圖背景設置爲綠色。

UIWebView自己似乎並不瞭解背景顏色 - 因爲它們正在渲染文檔。

+5

好的,謝謝you1我添加設置不透明的NO,現在是完美的。 – Namhcir

+0

但還有一個問題 - 我還需要在先前的視圖中在tableview的tableview單元格中顯示豐富的視圖。如果我將一個webview添加到tableviewcell中,我會遇到麻煩嗎?否則,如何在tableview中顯示豐富的html? – Namhcir

+0

因爲它們都是uiviews,所以你可以添加它。但是您應該查看一些Apple的HIG和UITableView API參考。在那裏有幾個不祥的警告覆蓋了UITableCellView並使背景透明。 – Kal

23

使用此的除了你的代碼

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

最後一行代替了myString,我寫了nil。然後我加載了我的實際頁面。謝謝! – Segev

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

這應該是公認的答案,因爲它不會將webview背景顏色設置爲清除顏色。 –

2

測試中Xcode8和斯威夫特3

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