Tengo una aplicación con una barra de pestañas y controles de navegación en cada pestaña. Cuando el usuario sacude el dispositivo, aparece UIImageView
como vista secundaria en el controlador de navegación. Pero el UIImageView
debe contener una imagen especial, según la orientación actual del dispositivo.¿Cómo verificar en qué posición (horizontal o vertical) está el iPhone ahora?
Si escribo simplemente
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)
if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
//Code
}
else if (interfaceOrientation == UIInterfaceOrientationLandscapeRight||interfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
//Code
}
}
La vista simplemente vuelve loco si el usuario gira el dispositivo antes de sacudir.
¿Hay algún método para obtener la orientación actual de los iPhones?
Gracias, pero que los valores pueden ser la orientación? Desde -90 hasta 90 - retrato y desde -180 hasta -90 y desde 90 hasta 180-paisaje? – Knodel
Ver la respuesta de @ Shirkrin: devuelve un valor de tipo 'UIDeviceOrientation', que es un' enum' de una cierta lista de valores. – Tim
no funcionó para mí, ya que a veces devuelve UIInterfaceOrientetionUnknown –