Dónde manejar el código UIAlert llamado desde UIAlert con entrada UIText

Tengo un Popover con 3 botones.

Uno de estos botones está vinculado a un método IBAction que muestra un cuadro de diálogo UIAlert usando setAlertViewStyle:UIAletViewStylePlainTextInput para obtener la entrada del usuario.

Según la entrada del usuario, quiero mostrar otra UIAlert que muestre CORRECTO o INCORRECTO según alguna búsqueda en el diccionario.

Mi desafío es dónde colocar el segundo código UIAlert. He intentado ponerlo en un alertView:willDismissWithButtonIndex; yo también lo he probado en alertView:clickedButtonAtIndex. En ambos casos, aunque se muestra la 2ª alerta, al hacer clic en el botón Aceptar, se vuelve a mostrar la misma alerta… ad infinitum.

Buscando consejos sobre cómo evitar este bucle; ¿Dónde sería mejor poner este código?

gracias

preguntado el 04 de julio de 12 a las 02:07

2 Respuestas

Si está utilizando Popovers, supongo que está desarrollando en un iPad. Recomendaría entonces usar un UIActionSheet para su ventana emergente inicial, en lugar de definir manualmente una ventana emergente con 3 botones (a menos que tenga alguna necesidad gráfica para hacerlo).

Con una UIActionSheet, puede especificar en el delegado de la UIActionSheet la lógica de cuándo mostrar la vista de alerta adecuada. Las UIActionSheets en iPad se presentan de forma predeterminada en Popovers, por lo que también debería reducir parte de su código de vista y hacer que la experiencia sea más estándar con las aplicaciones de iOS en general.

En el caso de que sea absolutamente necesario tener varias ventanas emergentes (que es un no-no general en el diseño de iOS), lo que Anthony mencionó anteriormente es correcto para utilizar la propiedad de etiqueta y luego desactivar las etiquetas numéricas.

Respondido 04 Jul 12, 03:07

Matt: gracias por esto y a Anthony por su sugerencia. Reemplacé el Popover con un UIActionSheet como sugiere junto con UIAlertViews para la interacción posterior del usuario. Después de algunos errores, ahora funciona bien. - tony

alertView:clickedButtonAtIndex: sería el método correcto a utilizar. ¿Estás diferenciando entre las vistas de alerta de alguna manera, como con el tag ¿propiedad? Es posible que esté ejecutando código para la derecha buttonIndex pero el mal alertView.

Respondido 04 Jul 12, 02:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.