2010-11-01 5 views
0

J'ai besoin d'un moyen de forcer l'orientation à portrait sur la rotation.Comment arrêter la rotation sur `willRotateToInterfaceOrientation:`

Le problème est que j'ai un contrôleur de barre d'onglets, mais que je veux seulement un des onglets autorotate. J'ai donc permis la rotation sur tous les onglets et maintenant j'ai besoin d'un moyen d'intercepter une rotation sur un onglet où je ne veux pas permettre la rotation.

Je suppose que je peux le faire sur - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration?

Merci Tom

Répondre

0

Il n'y a aucun moyen de forcer la rotation. En cas de UITabBarController vous n'avez pas de chance. C'est une situation de tout ou rien par rapport à la rotation de l'interface. Si l'un de vos onglets ne peut pas pivoter, l'ensemble UITabBarController reste en mode portrait fixe.

+0

merci. :) Je viens juste de faire pivoter toutes mes vues. : p –

0

Peut-être que ce serait même travailler si elles sont appliquées dans tous vos viewControllers:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { 
    return (return ([[self.tabBarController.selectedViewController class] isSubclassOfClass:[TurnableViewController class]]) || UIInterfaceOrientationIsPortrait(toInterfaceOrientation); 
} 

Ceci, cependant, détournez pas votre point de vue si vous revenez à un non-orientable, jusqu'à ce que vous inclinez votre appareil ..