La barre d'état est Paysage, mais [[UIApplication sharedApplication] statusBarOrientation] renvoie le portrait
Ce problème semble être intermittente, mais je ne suis pas sûr de savoir pourquoi exactement. Lors de l'exécution de mon application sur l'appareil (iPad), j'ai un code pour charger un rouleau de vue avec quelques vues d'images selon l'orientation de l'écran. Même si l'appareil est paysage avant le chargement, les points de vue sont en train d'être chargé comme si c'était le portrait.
L'orientation est trouvé par appel [[UIApplication sharedApplication] statusBarOrientation]
.
Les points de vue sont mis en place pour ajuster leurs positions lors de la rotation de l'appareil, et en effet, la rotation portrait, et ensuite de retour au paysage renvoie le bon paysage de positions. Est-ce le cas de toutes les applications de partir en portrait et bientôt changer de paysage, si nécessaire? Suis-je en essayant de vérifier l'orientation trop tôt (au cours de la init
de la première-vue-contrôleur à être chargé)?
source d'informationauteur Stuart
Vous devez vous connecter pour publier un commentaire.
Si vous êtes à la sous-classement UIWindow ou la barre d'état, vous verrez ceci parce que c'est l'appareil ipad natif de l'orientation. Le UIWindow traduit de l'orientation et de coordonnées dans ce que nous sommes habitués à. Après vous makeAndKeyVisible, votre appareil et l'interface d'orientation en vue de les contrôleurs doivent être comme prévu. Vous n'auriez pas par hasard être à l'aide de MTStatusBarOverlay feriez-vous? Je suis passé par la même chose et il est descendu à l'ordre de instatiation.
OK Fixe.
À l'aide de UINavigationController, quand je popToViewController:animation: à partir d'un paysage à un portrait de la vue, la vue de destination s'affiche correctement, mais la barre d'état et aussi le UIKeyboard garde le paysage de la configuration, de faire un véritable gâchis.
De travail autour de
Après des milliers de recommandations sur statusBarOrientation et les références de lecture...
https://developer.apple.com/library/content/releasenotes/General/RN-iOSSDK-6_0/index.html
statusBarOrientation ne fonctionne que si supportedInterfaceOrientations retourne 0, alors... qui nous donnent une supposition.
Si statusBarOrientation n'est pas comme prévu, l'un rendement nul va le faire (si toujours retourner 0, le point de vue habitude de tourner, de sorte que:
Maintenant, dans viewDidAppear (croyez-moi, j'utilise cet appel, même lorsque le clavier de notification est recived:
plus de 48 heures de travail dans ce.
Espérons que cela aide un tout, merci à tous.
Juste au cas où quelqu'un d'autre s'exécute en cela, je vois beaucoup d'applications qui ont des problèmes similaires dans iOS5, en fait sur l'iPhone.
Il peut-être un bug dans iOS 5 (ou juste une interférence avec un comportement commun...
- Je utiliser une coutume vue de la racine de la classe contrôleur (un UITabBarController sous-classe, aucune idée si c'est important) et dans la classe que j'ai surchargé "shouldAutorotateToInterfaceOrientation" uniquement dans le tournant après ma première configuration d'écran est fait (sinon, les foiré certaines choses).
Ce que je fais maintenant c'est que je ré-utiliser cette classe pour définir la statusBarOrientation manuellement portrait avant que je permettre à des rotations et quelle que soit l'INTERFACE utilisateur tourne par la suite.
Je crois que ça pourrait résoudre CE problème, aussi, même si la cause peut être sans rapport.
Si vous rencontrez ce problème au moment du lancement, vous devez utiliser UIDevice pour obtenir l'orientation du périphérique, depuis statusBarOrientation sera toujours le portrait jusqu'à ce que après l'application:didFinishLaunchingWithOptions:. Le seul inconvénient est que vous devez activer le dispositif d'orientation des notifications avant ou de demander UIDevice pour l'orientation.
Avez-vous assurez-vous d'avoir toutes ces infos.plist ?