[question mise à jour]
Voici donc le problème, je l'ai finalement réduit à cela. Si vous créez une nouvelle uIViewController dans toutes les méthodes p>
if (UIDeviceOrientationIsPortrait(interfaceOrientation)) { // layout subviews for portrait mode } else { // layout subviews for landscape mode }
3 Réponses :
Essayez [[uiapplication SharedApplication] StatutBarorientation] code>. P>
Est-ce différent de [[uiapplication SharedApplication] StatutBarorientation]?
Je ne suis pas sûr que cela résoudra réellement mon problème, mais que je regarde la documentation que j'ai trouvée ce qui suit: et p> ou bien sûr que UIViewController a l'option "InterfaceCorIdation". P > p>
La manière appropriée est de demander au périphérique donc vous êtes correct en utilisant Remarque: em> Cela vous donne l'orientation actuelle de l'appareil. Si le contrôleur actuellement visible / Top View a fait non fort> autoriser la rotation à cette orientation, vous obtenez néanmoins l'orientation du périphérique actuel, et non celle du contrôleur d'affichage le plus haut utilisé actuellement. P> Vous avez raison que l'orientation du contrôleur d'affichage le plus haut (fonctionnement correctement pour les contrôleurs de sous-SUPVIEW) renvoie toujours 1 (c.-à-d. uidevice code>. De Documentation Vous pouvez voir Vous devez d'abord générer des notifications d'orientation de périphérique avant que ces informations soient correctes. Ensuite, cela fonctionnera comme souhaité. P>
edit em> après la question a été mis à jour: p> UIInterfaceOrientationportrait ) dans
loadview code>. Toutefois, la méthode
willroteatetterfaceorientation: durée: code> sera immédiatement appelée, et l'orientation passée est correcte, vous devriez donc pouvoir utiliser cette méthode. P>
- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toIfaceOrient
duration:(NSTimeInterval)duration
Hey Pascal, cela fonctionnerait pour l'Uidevice cependant ce n'est pas ce que je cherche. J'ai finalement réduit le bogue, je mettrai à jour ma question.
J'ai mis à jour la réponse, peut-être que cette méthode est une solution à votre problème.
J'ai essayé de faire la vérification de
uidevicedientationisportrait () code> dans
layouplievis code> d'un
uIView code> Sous-classe et je reçois les bonnes orientations. Avez-vous un autre code que vous pourriez partager cela pourrait aider à identifier ce que le problème est? Vous vous demandez également si les valeurs d'uideviceorientation et d'uiterfaceorientation pourraient être utilisées de manière interchangeable? Cela m'a été coincé avec des bugs étranges auparavant.