Pregunta

problema rápida:

Tengo una UITabBarController con 2 controladores de navegación [permite llamar a izquierda y derecha del controlador]

Por defecto seleccionado dejada regulador que puede empujar una nueva Vista Controlador de interfaz que detecta la orientación.

En el controlador I Derecho puede empujar el mismo controlador de vista pero no va a detectar la orientación de la interfaz, o para el caso, no lo hará incluso entrar en el método shouldAutoRotateInterface en absoluto T ___ T

Haaalp !!

Si se trata de cualquier relevancia, la vista Contoller que estoy empujando el uso de la propiedad hidesBottomBarWhenPushed.

¿Fue útil?

Solución

¿su UITabBarController implementar la rotación automática? viewcontroller cualquier niño que quiere implementar autorotate tiene que tener su matriz implementar autorotate.

Otros consejos

Lo más probable es que esto es su problema:

  

controladores de la barra de pestañas soportan un retrato   la orientación por defecto y no hacer   rote a una orientación horizontal    una orientación a menos que todos los controladores de vista de la raíz de apoyo tales .   Cuando un dispositivo de orientación   cambio ocurre, el controlador de la barra de pestañas   consulta su gama de controladores de vista.   Si alguno de ellos no lo hace de soporte   la orientación, la barra de pestañas   controlador no cambia su   la orientación.

La solución es para anular el método siguiente en cada controlador de vista conduce a su vista:

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
    return YES;
}

Por ejemplo, en lugar de utilizar el UITabBarController defecto en IB, reemplazarlo con su propia subclase contiene sólo el método anterior.

Estoy un poco tarde a la fiesta en esto, pero me encontré con un problema con auto rotación en el arranque de una aplicación de la barra de pestañas que quería siempre a ejecutar en el retrato.

plist de la aplicación tiene los ajustes necesarios a la vez en el inicio y sólo permiten el modo vertical, y todos mis controladores de vista sólo permiten el modo de retrato. Sin embargo, cuando empecé la aplicación de la celebración de mi iPhone en el paisaje, la aplicación se inició en el retrato, pero luego coloque en horizontal!

En lugar de UITabBarController subclase, que UITabBarController método de shouldAutorotateToInterfaceOrientation: simplemente overrode utilizando una categoría en UITabBarController clase. He incluido este código en mi aplicación delegado:

@implementation UITabBarController(UITabBarControllerCategory)

-(BOOL)shouldAutorotateToInterfaceOrientation:
                 (UIInterfaceOrientation)toInterfaceOrientation
{
    return (toInterfaceOrientation == UIInterfaceOrientationPortrait);
}

@end

funciona de maravilla, y es bastante ligero.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top