2012-11-20 5 views
1

Je rencontre des problèmes d'orientation paysage lorsque je crée des applications Ipad pour iOS 5 sur Xcode 4.5 J'ai vu quelques questions connexes mais la plupart d'entre elles sont à l'opposé de ma situation.Comment créer des applications IOS 5.1 dans Xcode 4.5

Je n'utilise aucun code comme Bool autorotate Je choisis simplement le mode paysage sur l'interface de construction. L'utilisation de l'autolayout est désélectionnée.

Lorsque je crée l'application Je choisis la cible IOS déploiement 5.1 sur le dossier du projet (icône bleue)

enter image description here

paramètres de construction est l'architecture de base Sdk est IOS 6

enter image description here

Dans le contrôleur de navigation du storyboard est défini sur Paysage et le document d'interface est défini sur 5.1

enter image description here

Dans le paysage simulateur IOS 6 fonctionne bien:

enter image description here

Mais dans l'IOS 5.1 paysage Simulator ne fonctionne pas et désorientée

enter image description here

Qu'est-ce qui me manque? Comment puis-je faire ce travail pour les versions 5.1 et 6?

EDIT =====

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    if (interfaceOrientation==UIInterfaceOrientationLandscapeRight) 
     return YES; 

    return NO; 
} 

code ci-dessus ne fonctionne pas non plus. C'est encore le même.

Répondre

2

Vous devez remplacer shouldAutorotateToInterfaceOrientation: le contrôleur de vue et revenir OUI pour vos orientations souhaitées, par exemple

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { 
return toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight; 

}

+0

En fait, je édité essayé avant que je posterai la question et ne fonctionne toujours pas –

+0

Vous définissez les orientations d'interface pris en charge seulement le paysage, non? – Setrio

+0

Sur le storyboard -> métriques simulées -> l'orientation est définie sur Paysage –

1

Avant IOS 6.0, vous devez remplacer cette méthode sur tous les ViewControllers de votre projet . Dans iOS 6 Apple a enfin fait correctement ce comportement

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight); 

}

0

Mettre à jour tous vos contrôleurs de vue avec le code suivant.

Fonctionne dans Simulator 5.0 et versions ultérieures.

-(NSUInteger)supportedInterfaceOrientations{ 
    return UIInterfaceOrientationMaskAll; 
} 

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    return YES; 
} 
question
Questions connexes