2010-03-23 4 views
0

Je dois présenter un alertview quand mon application commence. Mon application prend en charge les deux modes paysage.iphone - présentant un alertview avec la bonne orientation

Malgré le mode paysage, l'appareil se trouve lorsque l'application démarre, la vue d'alerte s'affiche toujours en mode portrait.

J'ai essayé d'utiliser l'accéléromètre pour détecter l'orientation de l'interface avant la notification d'orientation et j'ai l'orientation correcte 2 secondes avant l'affichage de la vue d'alerte.

Ensuite, j'utiliser ce code pour définir la barre d'état à une orientation différente, en espérant que le alertview suivra ...

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight]; 

ou à gauche, en fonction du mode paysage.

Rien ne fonctionne.

Existe-t-il un moyen de forcer la vue d'alerte à respecter l'orientation?

Le point ici est la suivante: Je ne peux pas définir une orientation paysage en particulier pour la barre d'état, je dois détecter l'orientation de l'appareil et ensuite définir l'orientation de la barre d'état.

merci pour toute aide.

+0

En utilisant le code que vous avez décrit, je suis en mesure de créer une application simple qui montre un UIAlertView dans le paysage. Je l'ai mis ici: http://www.thermoglobalnuclearwar.com/stuff/Example.zip –

+0

merci, mais vous fixez l'orientation sur le délégué. Tu ne peux pas faire ça. Ma demande (pour iPad) a été rejetée par Apple en faisant cela. Vous devez détecter dans quel paysage l'utilisateur se trouve et définir la barre d'état en conséquence. Si l'utilisateur n'est sur aucun paysage que vous pouvez définir un paysage à gauche ou à droite. Le point définit l'orientation de la barre d'état après avoir détecté l'orientation de l'appareil. Mais vous allez bientôt découvrir qu'à ce moment-là sur le délégué, la notification d'orientation ne fonctionne pas encore .... – SpaceDog

Répondre

1

Votre application utilise-t-elle un UITabBarController ou un UINavigationController? Essayez d'appeler l'alerte à partir de rootViewController, qui peut être un UITabBarController ou tout autre rootController. Ne pas afficher l'alerte à partir de l'écran immédiat (ou de la sous-vue). Appelez [show d'alerte] en remplaçant UITabBarController et de l'intérieur.

j'espère que je suis votre problème droit

Cheers,

Harikant Jammi

+0

merci !!!!!!!!!!!!! – SpaceDog