Pregunta

Tengo una aplicación para iPhone que estoy convirtiendo actualmente a un universales binaria de trabajo con el iPAD. He aplicado con éxito que necesito todo en términos de distribución de manera que la funcionalidad completa del paisaje es ahora compatible con mi aplicación (modo de retrato anteriormente he usado principalmente al contenido de la pantalla).

Sin embargo, tengo un problema extraño, y sólo se produce en el modo horizontal: cuando empujo un controlador de vista en la pila, se necesita dos toques en el botón de retroceso para volver a la vista anterior ¡controlador! La primera muestra toca una vista en blanco, pero con el mismo nombre en el botón de navegación de vuelta del lado izquierdo, el segundo grifo toma la parte posterior del controlador a la vista anterior como debería.

No tengo un iPad a prueba, así que estoy confiando en el simulador. El problema no se presenta en el iPhone y no aparece si se gira de nuevo a modo de retrato.

Mi aplicación consiste en una tabBarController con los controladores de navegación cargados por su vc de:

//application delegate
- (void)applicationDidFinishLaunching:(UIApplication *)application
//....
WebHelpViewController *vc8 = [[WebHelpViewController alloc] init];
UINavigationController *nv8 = [[UINavigationController alloc] initWithRootViewController:vc8];

[self.tabBarController setViewControllers:[NSArray arrayWithObjects:nv1,nv2,nv3,nv4,nv5,nv6,nv7,nv8,nil]];

Para poner en práctica la capacidad de paisaje, la UITabBarController se anula a autorotate cuando sea necesario:

//CustomTabBarController.m
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return [[(UINavigationController *)self.selectedViewController topViewController] shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}

... bien funciona. Navego en nuevos puntos de vista utilizando este método

SomeViewController *vc = [[SomeViewController alloc] init];
[self.navigationController pushViewController:vc animated:YES];
[vc release];

¿Es esto sólo un error de simulación? ¿Cómo puedo solucionar este problema?

¿Fue útil?

Solución

Suena como otra ViewController está respondiendo a:

(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

Marque esta primera.

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