Si comme moi vous avez développé une application uniquement en mode paysage (bouton home à droite ou à gauche) vous avez pu noter un problème plus ou moins gênant.
En effet, en utilisant une UIAlertView, celle-ci s’affichera en mode portrait !
Le problème vient du fait que l’on a défini l’orientation dans le fichier plist et que lors du chargement de l’application, l’orientation n’est pas bien reportée au niveau de la « StatusBar » de l’application.
Exemple :
La solution est de réaffecter la valeur d’orientation actuelle de votre iPhone ou iPod Touch à la propriété StatusBarOrientation de l’application avant d’afficher votre alerte :
if([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight){ [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft]; } else { // en mode LandscapeRight par default [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight]; } UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title] message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; [alert release];
et voici le résultat :
Visited 2 times, 1 visit(s) today