j'ai donc UIWebView dans mon application et j'ai la charge, html (article) pour mettre un peu de CSS pour rendre le tout plus agréable. C'est simple et clair et tout est parfait jusqu'à ce que j'essaie d'ajouter de la lecture dans le paysage de la fonctionnalité et puis j'ai remarqué que UIWebView ignore tout css "font-size" j'ai mis dans le HTML et augmente la taille de la police considérablement après la rotation en mode paysage.
J'ai passé environ 4 à 5 heures (je suis nouveau à la programmation d'une application Iphone, mais je suis assez têtu quand il s'agit de faire quelque chose de bien) pour tenter d'y remédier. Essayé des tas et des tas d'options de configuration - RIEN.
Et ce soir, quelque chose de magique s'est passé. 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 j'ai seulement ajouté le même code un plus de temps et d'accroissement de la marge (moins) par un point. Et n'setFrame à nouveau (non, il ne résout pas le redimensionnement avec un seul jeu de setFrames).
Je suis content que ça fonctionne, mais je voudrais savoir COMMENT et POURQUOI, si je peux le faire "bien", parce que maintenant, le code semble stupide et avoir 1 point de hauteur de la marge en bas de l'application.
Et ne me demandez pas pourquoi j'ai essayé de copier coller le même code à nouveau..