J'ai été aux prises avec quelque chose aujourd'hui. Je pense que ce qui est nouveau, un comportement incorrect. Je peux me tromper à ce sujet étant nouveau, mais il semble définitivement incorrect.
Lorsque votre application est en mode paysage, et vous montrer une UIAlertView, ce point de vue d'alerte se montre en mode portrait, ce qui signifie qu'il est sur le côté pour l'utilisateur. Évidemment, cela le rend maladroit et un peu difficile à lire.
J'ai essayé beaucoup de choses à faire fonctionner le droit, sans grand succès. Si j'ai changé de transformation de la vue avant que l'avis a été montrée à l'utilisateur, il s'est écrasé et mis dans la mauvaise orientation de toute façon. Mes tentatives pour UIAlertView sous-classe n'ont pas réussi à régler le problème. Le mieux que je pouvais faire était de changer l'orientation à droite de la vue après qu'il a affiché à l'utilisateur, animer le changement pour le rendre moins choquante.
Pour ce faire, vous avez à mettre en œuvre la méthode déléguée didPresentAlertView: le délégué de votre vue. Si vous n'utilisez pas un délégué, il suffit de passer soi-même et mettre en œuvre cette méthode dans votre classe contrôleur où vous créez et afficher l'alerte.
J'ai soumis cela comme un bug à Apple, et je dois penser que je ne suis pas le seul qui a, mais en attendant, c'est le meilleur que j'ai pu trouver. Si quelqu'un a une meilleure solution, je serais ravi de l'entendre. Je ne suis pas impatient de laisser mon client voient leur app de ce genre.
Lorsque votre application est en mode paysage, et vous montrer une UIAlertView, ce point de vue d'alerte se montre en mode portrait, ce qui signifie qu'il est sur le côté pour l'utilisateur. Évidemment, cela le rend maladroit et un peu difficile à lire.
J'ai essayé beaucoup de choses à faire fonctionner le droit, sans grand succès. Si j'ai changé de transformation de la vue avant que l'avis a été montrée à l'utilisateur, il s'est écrasé et mis dans la mauvaise orientation de toute façon. Mes tentatives pour UIAlertView sous-classe n'ont pas réussi à régler le problème. Le mieux que je pouvais faire était de changer l'orientation à droite de la vue après qu'il a affiché à l'utilisateur, animer le changement pour le rendre moins choquante.
Pour ce faire, vous avez à mettre en œuvre la méthode déléguée didPresentAlertView: le délégué de votre vue. Si vous n'utilisez pas un délégué, il suffit de passer soi-même et mettre en œuvre cette méthode dans votre classe contrôleur où vous créez et afficher l'alerte.
- (void)didPresentAlertView:(UIAlertView *)alertView
{
[UIView beginAnimations:@"" context:nil];
[UIView setAnimationDuration:0.1];
alertView.transform = CGAffineTransformRotate(alertView.transform, degreesToRadian(90));
[UIView commitAnimations];
}J'ai soumis cela comme un bug à Apple, et je dois penser que je ne suis pas le seul qui a, mais en attendant, c'est le meilleur que j'ai pu trouver. Si quelqu'un a une meilleure solution, je serais ravi de l'entendre. Je ne suis pas impatient de laisser mon client voient leur app de ce genre.
Aucun commentaire:
Enregistrer un commentaire