2009-12-17 16 views
6

si cambio el marco de una propiedad de UIWebView (scalesPageToFit es SÍ), ¿qué debo hacer para que el nivel de zoom de una página web actualmente visualizada persista?El tamaño del marco de UIWebView no cambia el tamaño del contenido interno

Digamos que tengo un marco UIWebView con un ancho de 200 píxeles, y se ha ampliado en un sitio web para que solo una columna sea visible. Después de cambiar el ancho a 300, aún veo la columna con el mismo tamaño y espacio adicional a la izquierda y a la derecha. Pero lo que necesitaría es que solo veo esta columna, pero más grande.

¿Alguna idea de lo que tengo que hacer para lograr esto? Intenté muchas cosas, pero nada funcionó hasta ahora.

Por cierto, el navegador Safari integrado en iPhone hace exactamente esto (con el mismo sitio web, por lo que no está relacionado con el contenido) al rotar el iPhone ... Veo el mismo contenido, error mayor, NO más contenido que sucede con mi versión actual de código.

¡Gracias por tu ayuda! Markus

+0

¿Has probado algo del lado de la web? CSS o JS? – TahoeWolverine

+0

¿Has encontrado alguna solución? Por favor, ayúdenme, estoy enfrentando el mismo problema. – Mangesh

Respuesta

0

¿Qué ha configurado para el UIViewContentMode de la vista web (también se puede establecer en IB en el "Modo" de la sección Ver)? Como está cambiando el tamaño de la vista, puede tener algo que ver con esto. Solo un tiro en la oscuridad ya que no lo he probado pero espero que esto ayude.

Es posible que también desee intentar desactivar las escalas de PageToFit antes de la transición y volver a encenderla después.

1

EDITAR: Mejor respuesta:

mjdth es correcta, se puede utilizar la propiedad contentMode en el UIWebView. Muy simple:

webView.contentMode = UIViewContentModeRedraw; 

Viejo, respuesta basura:

Esto funcionó para mí, pero yo estaba trabajando con páginas locales y pequeñas cantidades de contenido:

-(void)layoutSubviews 
{ 
    // Cause web view to reload content in order to display at new frame size 
    [webView reload]; 
} 

I' ¡Me encantaría ver una mejor solución que no implique volver a cargar la página!

+0

Parece que llamar a [carga webView] (cuando se cambia webView.frame) es la única solución por el momento. –

Cuestiones relacionadas