2012-05-31 18 views
5

Estoy empezando con Storyboards y iOS 5.1. La aplicación que estoy construyendo utiliza un controlador de navegación como su controlador raíz y está diseñada para usarse en orientación horizontal (es una aplicación empresarial interna).UIView en iOS 5 usando Storyboards no rota el contenido en la rotación del dispositivo iPad

Creé una única vista, que funcionó correctamente: el contenido gira adecuadamente para permanecer "boca arriba" cuando el simulador cambia de orientación.

A continuación, agregué una nueva vista, y esa no gira en absoluto; el contenido permanece en orientación vertical (y por lo tanto es lateral) cuando el dispositivo gira.

He revisado las configuraciones de los dos UIViewControllers y UIViews, y no puedo ver ninguna diferencia entre ellas. ¿Alguna idea de dónde debería mirar?

Respuesta

9

En primer lugar, cada UIViewController en el guión gráfico debe tener una clase sosionada con él. Cree una nueva clase que herede de UIViewController y luego, en el guión gráfico, haga clic en el controlador uiview, y en la parte inferior de ese controlador, haga clic en el cuadro de la derecha y en el inspector de clase, reemplace UIViewController con el nombre de la nueva clase creada .

A continuación, asegúrese de que en todas las clases controlador de vista que se crea, se implementa el método

-(BOOL)shouldAutoRotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

Sólo hacen que este método deleate para volver SI en todos los controladores de vista para asegurarse de que todos sus puntos de vista giran en cualquier orientación ¿Has hecho esto?

+1

No puedo creer que lo haya olvidado; demasiado deslumbrado por el calor de Storyboard ... ¡Gracias! – Christophe

+0

Técnicamente, no es necesario tener una subclase de controlador de vista para cada escena, pero generalmente es el caso. –

+2

Tenga en cuenta que si utiliza Xcode 4.5 pero implementa en iOS 5.x este método ya no se generará automáticamente en las subclases UIViewController (ya que se ha obsoleto en iOS 6.x), por lo que deberá agregar manualmente para hacer que las cosas funcionen en iOS 5.1. –

0

Esto me ha molestado también. Mi aplicación giró en el simulador de iPad pero no en un iPad real. Lo suficientemente extraño Tenía un UITabBarController con tres pestañas. Los tres controladores conectados a la barra de pestañas tenían el método shouldAutoRotateToInterfaceOrientation, pero solo dos de ellos (5 pasos posteriores al taladrado a través del controlador de navegación) no lo hicieron. He agregado el método a esos también y ahora rota.

Just my 2 ¢.

Cuestiones relacionadas