2012-04-17 3 views
7

mac osx, 내 웹보기를 투명하게 보이게하고 상위보기의 이미지를 보여주는 배경으로 데이터를 표시하고 싶습니다.코코아 : 배경을 투명하게 만드는 방법 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

글쎄, 웹보기에서 페이지의 배경색을 불투명 한 색으로 설정하고 있습니다. 그게 효과가 없을거야, 그렇지? –

답변

16

수 있습니다. 그러면 웹보기에로드 된 페이지가 명시 적으로 배경색을 설정하지 않는 한 웹보기가 배경을 그리는 것을 방지 할 수 있습니다.

+0

너무 감사합니다. –

-1

우리는 코코아를 사용하여 WebView에 배경 이미지를 추가 할 수 있습니다. 이렇게하려면 body 태그에 CSS를 추가해야합니다.

는 웹보기 생성 :

WebView *webView; 

이미지 형태 번들 페치 경로 : 본체 태그

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 mainFrame] loadHTMLString:htmlBuilder baseURL:nil]; 
[webView setDrawsBackground:NO]; 

이미지가 웹보기에 배경에 추가 될 예정에이 이미지.

관련 문제