2012-10-03 5 views
0

La majorité de mon application ne supporte pas la rotation. Sur les orientations supportées, je n'ai sélectionné que le portrait. Sur la sous-classe UIViewController que l'application utilise je ceci:ViewController ne tourne pas sur iOS6

-(BOOL)shouldAutorotate { 
    return NO; 
} 

-(NSUInteger)supportedInterfaceOrientations { 
    NSLog(@"supported?"); 
    return UIInterfaceOrientationMaskPortrait; 
} 

-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { 

    NSLog(@"preferred"); 
    return UIInterfaceOrientationPortrait; 
} 

Dans la sous-classe UIViewController qui fait l'orientation en charge, je ceci:

-(BOOL)shouldAutorotate { 
    return YES; 
} 

-(NSUInteger)supportedInterfaceOrientations { 
    NSLog(@"supported?"); 
    return UIInterfaceOrientationMaskAll; 
} 

-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { 

    NSLog(@"preferred"); 
    return UIInterfaceOrientationPortrait; 
} 

Mon application ne tourne pas en tout état cependant, y compris celui-là. Comment peut-il faire tourner ici comme je le veux?

+0

Est-ce vous ajoutez toutes les orientations aux orientations prises en charge dans votre Info.plist? – DrummerB

+0

Non, je n'ai sélectionné que portrait comme orientation supportée. Si j'active le mode paysage, il pivote en mode paysage sur chaque contrôleur de vue. – Andrew

+1

Avez-vous un contrôleur de navigation? – rooster117

Répondre

1

Si vous utilisez un contrôleur de navigation, assurez-vous que vous faites dans votre délégué App:

self.window.rootViewController = self.navigationController;

Pour des références supplémentaires, cochez cette question SO:

Rotation behaving differently on iOS6

+0

Cela devrait résoudre votre problème. J'ai passé des heures l'autre jour à essayer de comprendre cela et j'étais ravi qu'au bout du compte j'ai été capable de le résoudre avec cette ligne sur mon représentant de l'application. – atbebtg