Je cours une fonction simple qui est appelée dans plusieurs domaines pour aider à faire face à la mise en page sur une application iPad pendant les changements d'orientation. Il ressemble à ceci:UIOrientation renvoie 0 ou 5
- (void) getWidthAndHeightForOrientation:(UIInterfaceOrientation)orientation {
NSLog(@"New Orientation: %d",orientation);
end
Et je l'appelle dans divers endroits comme celui-ci:
[self getWidthAndHeightForOrientation: [[UIDevice currentDevice] orientation]];
La fonction a normalement un code simple qui fonctionne si l'orientation est portrait ou paysage. Malheureusement, il ne fonctionnait pas comme prévu lorsque l'application est démarrée dans ce qui serait la position 1. Je reçois 0 en conséquence. Plus tard si la fonction est appelée de la même manière mais que l'appareil n'a jamais été pivoté, je récupère une valeur de 5. Qu'est-ce que cela signifie? Pourquoi lancerait-il ces valeurs?
En bref, pourquoi [[UIDevice currentDevice] orientation] aurait-il jamais lancé 0 ou 5 au lieu de n'importe quelle valeur entre 1 et 4?
MISE À JOUR:
Parce que je continuais à trouver des bugs dans mon code en raison de l'orientation de façon a été traitée, je jouté un message définitif sur la façon de gérer les orientations UIDevice ou UIInterface: http://www.donttrustthisguy.com/orientating-yourself-in-ios
Merci Bob! Je dois essayer. –
Heureux que ça a marché pour vous! –