2012-06-12 4 views
0

J'ai deux vues, toutes deux sous le NavigationController. I ne pas voulez voir 1 (sur la gauche) pour faire pivoter, mais je do voulez que la vue 2 (sur la droite) pour faire pivoter. La vue 1 et la vue 2 sont routées vers différentes classes. J'ai mis ce code dans la classe View 2 pour implémenter le comportement et cela ne fonctionne pas. Il fonctionne avec des vues modaux dans mon application, la penséeNavigationController ne tourne pas

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); 
} 

Je ne voudrais pas faire le point de vue №1 rotatif en aucun cas. Des idées pour ce faire? Merci d'avance!

Répondre

1

Le comportement que vous voulez est hostile à l'utilisateur et possible contre HIG. La raison pour laquelle cela ne fonctionne pas est parce qu'il y a des protections dans UINavigationController contre ce comportement perturbateur. Lorsque vous avez ViewControllers Nav, tab ou modal avec des règles différentes pour la rotation, il peut parfois échouer, jerk, ou ne pas fonctionner du tout comme vous le voyez.

Fondamentalement, je dis ne fais pas ça. Pas que ce ne soit pas possible.

+0

Recommanderiez-vous alors d'implémenter le comportement de rotation pour la 1ère vue pour le rendre plus naturel? –

+0

Oui. Si vous allez soutenir les rotations, ce que je suggère, alors vous devriez probablement soutenir les mêmes rotations tout au long de l'application entière. Je sais que cela peut être plus de travail mais vos utilisateurs l'apprécieront. –