2011-06-22 31 views
0

我試圖以編程方式創建一個UIWebView,我需要它被另一個元素疊加,所以在我的代碼,我有以下幾點:無法使編程方式創建一個UIWebView透明

webViewScroller = [[UIWebView alloc] initWithFrame:CGRectMake(47, 80, 226, 310)]; 
webViewScroller.opaque = NO; 
webViewScroller.backgroundColor = [UIColor clearColor]; 

最後兩在UI界面生成器中創建透明的UIWebView時,線條很好用,但由於我想嚴格按照代碼創建和銷燬視圖,因此我正在像這樣創建它。我期待它響應相同的設置參數,無論是在IB還是在代碼中創建。我錯過了一些簡單的東西嗎我也嘗試循環使用子視圖並使它們透明,但是我也沒有任何運氣。我猜測其中一個父視圖不是不透明的,但我不確定如何引用它以使其不透明。我想這也:

[webViewScroller.layer setOpaque:NO]; 

[更新]我也加入<body style="background-color:transparent;">到我的HTML。這不是問題,因爲它是一個包含視圖的父項:當您滾動出界時,隱藏在「陰影」後面的視圖。

回答

0

只是爲了結束這個問題,我自己回答。我從來沒有找到解決這個特定問題的方法,所以我只是在IB中創建了WebView,並且它的工作方式與我原來的文章中提到的一樣。

感謝所有試圖幫助的人。

3

您還需要將HTML正文的背景顏色設置爲透明才能使其正常工作。

像這樣(或通過使用在標頭樣式標記):下面

<body style="background-color:transparent;"> 
+0

感謝您的提醒,雖然我已經做到了,但沒有效果。實際的webview是透明和不透明的,它只是其中一個父視圖。 – ryebread

0

使用使UIView的繼承的類爲透明。根據您的要求設置alpha的值。

webViewScroller.alpha = 0.3f; 
+0

這使得webview(包括HTML內容)在灰色父視圖之上變得透明......我正在尋找使UIWebView不透明的視圖。在界面生成器中,您可以將背景設置爲清晰,並且效果很好。在代碼中必須有一些方法來做同樣的事情。謝謝! – ryebread