2010-12-06 6 views
1

J'ai sous-classé UIActionSheet pour afficher un UIPickerView. L'idée est que l'utilisateur choisira une valeur dans le sélecteur, cliquez sur Terminé (un bouton dans une barre d'outils de la feuille d'action). Cela fera apparaître une invite demandant à l'utilisateur de confirmer le choix (car il s'agit potentiellement d'une action destructrice).Affichage d'un UIAlertView sur une feuille UIAction

Le problème est que UIActionSheet est prioritaire sur l'alerte. Le UIAlertView est affiché en arrière-plan et il n'y a aucun moyen pour l'utilisateur de sélectionner des options. Est-il possible de positionner la vue d'alerte au-dessus de la feuille d'action?

Répondre

0

Je ne pouvais pas vraiment faire fonctionner la sorte plutôt que de perdre du temps de piratage jusqu'à une solution laide, je fini par rejeter la feuille d'action lorsque l'alerte a été montré. Si l'utilisateur cliquait sur OK, j'ai continué l'action, si l'utilisateur cliquait sur Annuler, j'ai présenté à nouveau la feuille d'action. Ça fonctionne bien.

1

Très bien peut-être un moyen d'accomplir cela, mais je suppose que ce n'est pas très élégant/simple. Au lieu d'avoir deux vues modales se battre pour la précédence, je suggérerais au lieu de faire une nouvelle coutume UIView pour servir de vue d'entrée (par opposition à l'écrasement UIActionSheet directement) et présentant le UIAlertView à partir de là. Il faudra un peu de travail supplémentaire pour rendre votre nouvelle vue d'entrée ressemble à une UIActionSheet, mais voici deux grands articles qui peuvent aider:

Comment faire vue apparaître comme un UIActionSheet: http://www.nearinfinity.com/blogs/andrew_homeyer/display_a_custom_uiview_like_a.html

Certains nice looking boutons gradient vous pouvez utiliser pour correspondre UIActionSheet « s: http://iphonedevelopment.blogspot.com/2010/05/gradient-buttons-yet-again.html