Necesito ajustar el alto y ancho de UIWebView para que todo el texto se muestre dentro de la vista y el usuario no necesita desplazarse para leer el texto.Configuración de ancho y alto UIWebView
¿Alguien tiene alguna idea de cómo conseguirlo?
Necesito ajustar el alto y ancho de UIWebView para que todo el texto se muestre dentro de la vista y el usuario no necesita desplazarse para leer el texto.Configuración de ancho y alto UIWebView
¿Alguien tiene alguna idea de cómo conseguirlo?
No hay disposiciones especiales en UIWebView
para ajustar el tamaño para ajustar el contenido. Puede establecer la propiedad scalesPageToFit
en YES
para escalar el contenido, o puede hacer que la vista sea lo suficientemente grande como para ajustarse a la mayoría de las páginas de tamaño razonable. De su pregunta deduzco que está mostrando contenido sobre el que tiene el control. Si no, no estoy seguro de que haya una forma programática fácil de lograr lo que quieres.
webView.scalesPageToFit = YES;
Consulte también: UIWebView+SFHFStringMetrics
estoy usando UIWebView + SFHFStringMetrics, pero obteniendo el tamaño (0.00,0.00) ¿me puede guiar qué error estoy cometiendo? –
espero que esto le apuntan en la dirección correcta.
Al llamar al método stringByEvaluatingJavaScriptFromString:
en el UIWebView
puede ejecutar JavaScript desde su aplicación en el UIWebView
.
// get the height of your content
[webview stringByEvaluatingJavaScriptFromString:@"document.getElementById('id_of_content_container').offsetHeight;"];
// get the width of your content
[webview stringByEvaluatingJavaScriptFromString:@"document.getElementById('id_of_content_container').offsetHeight;"];
El anterior devolverá un objeto NSString con el ancho y la altura de cualquier elemento que se pasa a la función getElementById
. Con esa información, debería poder cambiar el tamaño de UIWebView para acomodar su contenido. Un ejemplo:
CGRect frame = webView.frame;
frame.size.width = 100;
webView.frame = frame;
También puede que necesite restablecer scalesPageToFit
de nuevo para obtener el contenido de reajustar al nuevo tamaño de la trama.
Otra opción sería detectar window.height
y window.width
en el lado HTML y usar JavaScript para ajustar el contenido a los aspectos de UIWebView.
la idea no es cambiar el marco de UIWebView ... Digamos que el ancho y alto de UIWebView está establecido en 320 y 440 respectivamente ... ahora la idea es ajustar el contenido html que se muestra en esa vista de 320x440 solo ... . ¿¿¿alguna sugerencia??? – aditya
Al igual que las respuestas han señalado, no creo que pueda hacer esto en el lado de la aplicación. Tendrá que escribir algunos JavaScript en el lado HTML que determina el ancho/alto de la ventana y lo compara con el ancho/alto del contenedor de contenido y lo ajusta en consecuencia. – Intelekshual
Thaks a ton por la respuesta! Sí, intentado con la propiedad scalesPageToFit establecida en YES ... pero reduce el contenido demasiado y no es legible ... – aditya
Parece que la categoría UIWebView + SFHFStringMetrics sugerida anteriormente puede ser útil. Invoca algo de Javascript en el documento representado para determinar sus dimensiones. – warrenm