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 5 times, 1 visit(s) today