Question

J'ai une application iPhone que je suis en train de convertir à un binaire universel à travailler avec l'iPad. Je l'ai mis en œuvre avec succès tout ce que je besoin en termes de mise en page afin que les fonctionnalités du paysage est désormais pris en charge dans mon application (anciennement je principalement utilisé en mode portrait au contenu d'affichage).

Mais, j'ai un problème étrange, et il se produit uniquement en mode paysage: quand je pousse un contrôleur de vue sur la pile, il faut tapant deux fois sur le bouton de retour pour revenir à la vue précédente manette! Le premier robinet montre une vue en blanc, mais avec le même nom sur le bouton de navigation arrière côté gauche, le deuxième robinet prend l'arrière du contrôleur à la vue précédente comme il se doit.

Je n'ai pas un iPad à tester, donc je compte sur le simulateur. Le problème ne se présente sur l'iPhone et ne montre pas pas si vous faites pivoter de nouveau en mode portrait.

Mon application se compose d'un tabbarcontroller avec les contrôleurs de navigation chargés pour de son vc:

//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]];

Pour mettre en œuvre la capacité du paysage, le UITabBarController est remplacé à autorotation en cas de besoin:

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

... fonctionne très bien. Je navigue dans de nouvelles vues en utilisant cette méthode

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

Est-ce qu'une erreur de simulation? Comment puis-je résoudre ce problème?

Était-ce utile?

La solution

On dirait une autre ViewController répond à:

(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

Cochez cette première.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top