2012-04-17 28 views
7

El mac osx, quiero hacer que mi vista web se vea transparente y mostrar los datos en ella con el fondo que muestra las imágenes de la vista principal.cacao: Cómo hacer un fondo transparente webView?

¿Alguien me puede decir cómo hacerlo? Este método 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

Bueno, por un lado, está configurando el color de fondo de la página en su vista web a un color opaco. Eso no va a funcionar, ¿verdad? –

Respuesta

16

se necesita llamar setDrawsBackground: en el WebView y pase NO. Esto evitará que la vista web dibuje un fondo a menos que la página cargada en la vista web establezca explícitamente el color de fondo.

+0

así que sí, así que gracias –

-1

Podemos agregar una imagen de fondo en WebView utilizando cacao. para hacer esto, necesitamos agregar css para la etiqueta del cuerpo.

Crear una vista web:

WebView *webView; 

Fetch el camino de forma paquete: Css

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

escritura de la etiqueta del cuerpo.

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

carga de esta imagen en vista web

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

Su imagen se agregará en segundo plano en vista web.