68 votes

Différentes façons d'obtenir l'orientation actuelle de l'interface?

Il y a trois façons d'obtenir l'orientation actuelle de l'interface que je connais:

  • self.interfaceOrientation
  • [[UIApplication sharedApplication] statusBarOrientation]
  • [[UIDevice currentDevice] orientation]

Quelles sont les différences entre eux?

115voto

beryllium Points 18138

self.interfaceOrientation retours UIInterfaceOrientation, l'orientation actuelle de l'interface. C'est une propriété de UIViewController, vous pouvez accéder à celui-ci seulement dans UIViewController classes.

[[UIApplication sharedApplication] statusBarOrientation] retours UIInterfaceOrientation, l'orientation actuelle de l'application dans la barre d'état. Vous pouvez accéder à la propriété dans n'importe quel point de votre application. Mon expérience montre qu'il est plus efficace de récupérer interface réelle orientation.

[[UIDevice currentDevice] orientation] retours UIDeviceOrientation, orientation de l'écran. Vous pouvez accéder à la propriété dans n'importe quel point de votre application. Mais notez que UIDeviceOrientation n'est pas toujours UIInterfaceOrientation. Par exemple, lorsque votre appareil est sur une simple table, vous pouvez recevoir la valeur inattendue.

26voto

holodnyalex Points 441

[[UIApplication sharedApplication] statusBarOrientation] - il correspond toujours à l'une des quatre valeurs suivantes: portrait, paysage gauche, paysage droit et portrait à l'envers.

[[UIDevice currentDevice] orientation] - Celui-ci équivaut à quatre valeurs standard ainsi qu'à: inconnu, face visible ou face cachée.

[[UIApplication sharedApplication] statusBarOrientation] - est un moyen plus privilégié d'obtenir l'orientation de l'interface.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X