, así que tengo UIWebView en mi aplicación y cargo algo de HTML (artículo), pongo algo de CSS para que todo sea más agradable. Eso es simple y claro y todo es perfecto hasta que intente agregar lectura en la funcionalidad de paisaje y luego me di cuenta de que UIWebView ignora cualquier css "font-size" que he puesto en HTML y aumenta el tamaño de fuente drásticamente después de rotar al modo horizontal.UIWebView cambia el tamaño del texto después de rotar: buscando una explicación para un error mágico o mi estupidez
He pasado unas 4-5 horas (soy nuevo en la aplicación de programación de Iphone, pero soy bastante terco cuando se trata de hacer algo bien) tratando de arreglarlo. Intenté muchas opciones de configuración, NADA.
Y esta noche algo mágico ha sucedido. Basta con mirar a la fuente:
Paisaje con el error:
r = CGRectMake(0.0, 0.0, 480.0, 320.0);
[adView.view removeFromSuperview];
if (!isFullScreen) {
minus = 50 + minus;
[controlsView setFrame:CGRectMake(0, r.size.height - 50, r.size.width, 50)];
} else {
minus = 20;
}
[textView setFrame:CGRectMake(0, 0, r.size.width, r.size.height - minus)];
[scrollView setFrame:CGRectMake(0, 0, r.size.width, r.size.height - minus)];
paisaje fijo (tamaño de la fuente no cambia más):
r = CGRectMake(0.0, 0.0, 480.0, 320.0);
[adView.view removeFromSuperview];
if (!isFullScreen) {
minus = 50 + minus;
[controlsView setFrame:CGRectMake(0, r.size.height - 50, r.size.width, 50)];
} else {
minus = 20;
}
[textView setFrame:CGRectMake(0, 0, r.size.width, r.size.height - minus)];
[scrollView setFrame:CGRectMake(0, 0, r.size.width, r.size.height - minus)];
if (!isFullScreen) {
minus = 1 + minus;
} else {
minus = 20+1;
}
[textView setFrame:CGRectMake(0, 0, r.size.width, r.size.height - minus)];
[scrollView setFrame:CGRectMake(0, 0, r.size.width, r.size.height - minus)];
Como se puede ver que sólo añadido el mismo código una vez más y el margen aumentado (menos) en un punto. Y setFrame otra vez (no, no arregla el cambio de tamaño con solo un conjunto de setFrames).
Estoy feliz de que funcione, pero me gustaría saber CÓMO y POR QUÉ, así que puedo hacerlo "correctamente", porque ahora el código se ve estúpido y tiene 1 punto de margen alto en la parte inferior de la aplicación.
Y no pregunto por qué he tratado de copiar y pegar el mismo código de nuevo ..
2016 solución: http://stackoverflow.com/a/2711132/294884 – Fattie