J'ai deux applications, qui obligent l'utilisateur à utiliser l'iPhone en mode paysage, afin d'avoir un écran plus large, au lieu d'un plus grand. L'une des choses que j'ai trouvées est que ma première vue sera bonne, mais toutes les autres vues ont leurs sous-vues (UIButtons, UIPicker, UIViews) pressées d'un côté ou clippées (selon que les éléments ont été réglés) pour déplacer, redimensionner ou rester dans la même position que la taille de la vue changée). Toutes mes vues sont conçues en IB dans l'orientation paysage. Mon UIWindow sous-jacent, et tout ce à quoi je peux penser a été présenté en orientation paysage. Même mon fichier plist a le drapeau UIInterfaceOrientationLandscapeRight. Maintenant, si je charge toutes mes vues en même temps que mon contrôleur rootview, alors je n'ai aucun problème. Mais si j'ai des vues chargées plus tard, elles seront coupées ou pressées.Difficulté avec les applications avec une orientation paysage forcé
La seule façon de contourner le problème est d'ajouter la ligne suivante dans mon code qui se déplie dans une nouvelle vue:
[coming.view setFrame:CGRectMake(0, 0, 480, 300)];
Quelqu'un sait pourquoi je dois le faire? Est-il juste que l'iPhone suppose que les vues chargées sont 300x480 à moins qu'une transformation ne leur soit appliquée?
Merci.
ps. C'est ce que la vue ressemble si je n'appelle setFrame, comme décrit ci-dessus:
alt text http://files.me.com/mahboud/ljhvun
Tous les viewcontrollers, qui sont chargées après la première aura leur écran de la même pressé vers le bas. Pour une raison quelconque, le premier viewcontroller n'a pas ce problème.
Je peux confirmer que c'est toujours un problème à partir de iPhone OS 3.1.3. Comme j'ai deux incidents de support gratuits inclus dans mon abonnement ADC, j'en ai déposé un et je vous le ferai savoir quand j'ai des nouvelles. –