que example app javascript iphone objective-c uiview uiwebview

javascript - example - Relleno/margen extraño al utilizar UIWebView



wkwebview ios (3)

Estoy creando una aplicación que tiene un UIWebView que contiene un anuncio. El tamaño de la vista es el mismo que el anuncio (imagen) en sí. Aún así, hay un margen / relleno blanco de algún tipo arriba ya la izquierda de la imagen, dentro de UIWebView. Echa un vistazo a la imagen vinculada:

En realidad, la imagen se empuja hacia abajo y hacia la derecha debido a este relleno también.

¿Alguna idea de cómo debo quitar el relleno blanco?

¡Gracias por adelantado!


Básicamente, todos los navegadores agregan ese espacio en blanco alrededor de los bordes de la página para ser compatibles con versiones anteriores como Netscape 1. En el HTML que está cargando en la vista web, puede usar CSS para eliminar eso:

body { margin: 0; padding: 0; }

Si no está cargando HTML en su vista web, sino solo la URL directa de un archivo de imagen, sugiero a) envolver eso en algo de HTML básico (cabeza, cuerpo, una etiqueta img ), o b) descargar la imagen usted mismo (por ejemplo, con NSURLConnection ) y mostrarlo directamente en un UIImageView .


Como una enmienda a la brillante respuesta de @ thenextmillionair, ponga el código en:

- (void)webViewDidStartLoad:(UIWebView *)webView { NSString *padding = @"document.body.style.margin=''0'';document.body.style.padding = ''0''"; [webView stringByEvaluatingJavaScriptFromString:padding]; }

a diferencia de webViewDidFinishLoad . Cuando el código está en webViewDidFinishLoad , verá que UIWebView reposiciona después de aparecer en la pantalla con el relleno. Al ponerlo en webViewDidStartLoad , eliminas esta fealdad.


Sé que este es un post antiguo, pero en caso de que alguien tenga los mismos problemas. Pude solucionar el mismo problema agregando el siguiente código en el método de delegado webViewDidFinishLoad.

- (void)webViewDidFinishLoad:(UIWebView *)webView { NSString *padding = @"document.body.style.margin=''0'';document.body.style.padding = ''0''"; [webView stringByEvaluatingJavaScriptFromString:padding]; }

Mira el primer banner con el código anterior añadido. Y el de abajo sin el código.