J'ai donné une app à dire 10 vue des contrôleurs. J'ai utiliser la manette de navigation pour charger/décharger.
Tous, sauf un, sont en mode portrait. Supposons que le 7e VC est dans paysage. J'ai besoin d'elle pour être présenté dans le paysage quand il est chargé.
S'il vous plaît suggérer un moyen pour forcer l'orientation de passer de portrait à paysage dans IOS 6 (et il sera bon de travailler dans IOS 5).
Voici comment je le faisais AVANT IOS 6:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
UIViewController *c = [[[UIViewController alloc]init] autorelease];
[self presentModalViewController:c animated:NO];
[self dismissModalViewControllerAnimated:NO];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
La présentation et à la révocation d'un modal VC était de forcer l'application à l'examen de son orientation, afin shouldAutorotateToInterfaceOrientation
a été appelé.
Ce que j'ai essayé, à IOS 6:
- (BOOL)shouldAutorotate{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
return UIInterfaceOrientationLandscapeLeft;
}
Sur la charge, le contrôleur est apprécié des voyageurs séjournant dans le portrait. Après la rotation de l'appareil, l'orientation des changements dans la juste ok. Mais j'ai besoin de faire le contrôleur pour faire pivoter automatiquement en mode paysage sur la charge, ainsi l'utilisateur devra faire pivoter l'appareil pour voir correctement les données.
Un autre problème: après la rotation de l'appareil vers l'arrière pour le portrait, l'orientation va à portrait, bien que j'ai spécifié dans supportedInterfaceOrientations
seulement UIInterfaceOrientationMaskLandscape
. Pourquoi ça arrive?
Aussi, AUCUN de plus de 3 méthodes sont appelé.
Certaines données utiles:
- Dans mon fichier plist j'ai spécifié 3 orientations - tous, mais à l'envers.
- Le projet a été lancé dans Xcode 4.3 d'IOS 5. Toutes les classes y compris xibs ont été créés avant Xcode 4.5 IOS 6, maintenant j'utilise la dernière version.
- Dans un fichier plist la barre d'état est définie à visible.
- Dans le fichier xib (celui que je veux être en mode paysage) la barre d'état est "None", l'orientation est paysage.
Toute aide est appréciée. Merci.