2012-04-17 16 views
7

Mac osx, chcę, aby mój widok internetowy wyglądał przezroczysty i pokazywał dane na nim z tłem pokazującym obrazy widoku rodzica.kakao: jak zrobić przezroczyste przezroczyste webView?

Czy ktoś może dać mi znać, jak to zrobić? Metoda ta nie

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

Po pierwsze, ustawiasz kolor tła strony w widoku internetowym na nieprzezroczysty kolor. To się nie uda, prawda? –

Odpowiedz

16

Można zadzwonić do setDrawsBackground: na WebView i przechodzą w NO. Zapobiegnie to rysowaniu tła przez widok internetowy, chyba że strona załadowana w widoku internetowym wyraźnie ustawia kolor tła.

+0

więc tak, dziękuję –

-1

Możemy dodać obraz tła w WebView przy użyciu kakao. aby to zrobić, musimy dodać css do znacznika body.

Tworzenie webview:

WebView *webView; 

Fetch obrazu ścieżkę postaci wiązki:

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

zapisu CSS dla znacznika body.

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

załadować ten obraz na WebView

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

Twój obraz zostanie dodany w tle na WebView.