2012-04-17 2 views
7

mac osx、私は自分のwebviewを透明に見せて、その上に親ビューの画像を示す背景を表示したい。ココア:背景を透明にする方法webView?

誰でも私にこれを行う方法を教えてもらえますか? この方法では、あなたはWebViewsetDrawsBackground:を呼び出し、NOに渡す必要はありませ

NSString * source = @"<html><head><title></title></head><body><div id=\"box\">Example Box</div></body></html>"; 
[[webView mainFrame] loadHTMLString:source baseURL:[NSURL URLWithString:@""] ]; 
[[webView windowScriptObject] evaluateWebScript:@"document.getElementById('box').style.backgroundColor = '#dddddd';"]; // Change box background 
[[webView windowScriptObject] evaluateWebScript:@"document.body.style.backgroundColor = '#dddddd';"]; // Change body background 
+1

さて、Webビューのページの背景色を不透明な色に設定しています。それはうまくいかないでしょうね? –

答えて

16

ことができます。これにより、Webビューにロードされたページが明示的に背景色を設定しない限り、Webビューで背景が描画されなくなります。

+0

だからとてもありがとう –

-1

WebViewでココアを使用して背景画像を追加できます。これを行うには、bodyタグにcssを追加する必要があります。

WebViewの作成:

WebView *webView; 

は、画像形式バンドルパスをフェッチ:bodyタグ用

NSString *path = [[NSBundle mainBundle] pathForResource:@"my-bg" ofType:@"jpg"]; 

書き込みCSSを。

NSMutableString *htmlBuilder = [[NSMutableString alloc] init]; 
[htmlBuilder appendString:@"body {"]; 
[htmlBuilder appendString:[NSString stringWithFormat:@" background-image: url('file://%@');",path]]; 
[htmlBuilder appendString:@"}"]; 

ロードのWebView

[[webView mainFrame] loadHTMLString:htmlBuilder baseURL:nil]; 
[webView setDrawsBackground:NO]; 

あなたのイメージはWebViewの上のバックグラウンドで追加される予定で、この画像。

関連する問題