Mi aplicación es principalmente retrato, sin embargo, hay una vista que REQUIERE una orientación horizontal.UINavigationController Force Rotate
Mis vistas se encuentran dentro de un UINavigationController, que (aparentemente) es la causa de este problema.
Todos UIViewControllers, excepto uno, tienen esta:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
El UIViewController que requiere paisaje tiene esta:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
Ahora, lo que sucede es cuando el usuario llega al paisaje UIViewController, se muestra en retrato. El usuario puede rotar su teléfono y se muestra en el paisaje como yo quiero (bloqueo a horizontal). El usuario luego avanza hacia un UIViewController vertical y sucede lo mismo: comienza en el paisaje, luego gira su teléfono y se vuelve a retratar (y se bloquea a vertical).
Parece que se permite el bloqueo de orientación entre UIViewControllers, sin embargo, la auto rotación/cambio de la orientación de forma programada está bloqueada de alguna manera.
¿Cómo obligo a que el teléfono se actualice con la orientación correcta?
Existe una solución temporal: puedo detectar la orientación del dispositivo y mostrar un mensaje pidiéndoles que giren el dispositivo si no es correcto, aunque esto no es óptimo.
Funciona en iOS6beta1. ¡Gracias! – k06a
Para mí, con 'UINavigationController', este enfoque falla porque aunque la barra de estado gira, la interfaz aún permanece. Entonces el usuario debe rotarlo una vez más para configurar la interfaz. –
Sí, yo mismo tuve una situación en la que este truco no funcionó después de todo. Eso significa que la funcionalidad de su aplicación (conversión de tamaño del elemento o integración de vista/subvista demasiado profunda o probablemente algo más) no permite que esta característica funcione. lo siento. En casos simples, ayuda. –