J'ai donc UIWebView dans mon application et je charge du html (article), je mets du CSS pour que tout soit plus agréable. C'est simple et clair et tout est parfait jusqu'à ce que j'essaie d'ajouter la lecture dans la fonctionnalité paysage et puis j'ai remarqué que UIWebView ignore toute taille de police CSS que j'ai mis en HTML et augmente la taille de la police après le passage en mode paysage.UIWebView redimensionne le texte après rotation: recherche d'explication pour un bug magique ou ma stupidité
J'ai passé environ 4-5 heures (je suis novice en programmation d'application Iphone, mais je suis assez têtu quand il s'agit de faire quelque chose de bien) en essayant de le réparer. J'ai essayé beaucoup et beaucoup d'options de configuration - RIEN.
Et ce soir quelque chose de magique est arrivé. Il suffit de regarder la source:
Paysage avec le Bug:
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)];
Paysage fixe (taille de la police ne change pas plus):
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)];
Comme vous pouvez le voir, je n'ajouté le même code une fois de plus et une augmentation de la marge (moins) d'un point. Et refait SetFrame (non, il ne corrige pas le redimensionnement avec un seul ensemble de setFrames). Je suis heureux que cela fonctionne, mais je voudrais savoir comment et pourquoi, donc je peux le faire "droit chemin", parce que maintenant le code semble stupide et avoir une marge de 1 point de haut au bas de l'application.
Et ne demandez pas pourquoi je l'ai essayé de copier coller le même code ..
solution 2016: http://stackoverflow.com/a/2711132/294884 – Fattie