Tengo una serie de cadenas que quiero usar para los títulos de los botones en una UIActionSheet. Desafortunadamente, el argumento otherButtonTitles: en la invocación del método toma una lista de cadenas de longitud variable, no una matriz.
Entonces, ¿cómo puedo pasar estos títulos a UIActionSheet? La solución alternativa que he visto sugerida es pasar nil a otherButtonTitles :, luego especifique los títulos de los botones individualmente usando addButtonWithTitle :. Pero esto tiene el problema de mover el botón "Cancelar" a la primera posición en UIActionSheet en lugar de la última; Quiero que sea el último.
¿Hay alguna manera de 1) pasar una matriz en lugar de una lista variable de cadenas, o alternativamente 2) mover el botón cancelar a la parte inferior de UIActionSheet?
Gracias.
fuente

Respuestas:
Conseguí que esto funcionara (solo necesitas hacerlo, estar bien con un botón normal y solo agregarlo después de:
fuente
cancelButtonno es rojo. EldestructiveButtones rojo.[UIActionSheet addButtonWithTitle]parece no configurarse correctamentefirstOtherButtonIndex(que debería usarse en el delegado enactionSheet:clickedButtonAtIndex:lugar de codificar 0 o cosas similares). Ponerse desagradable con la conversión de unNSArrayava_listtampoco parece una gran solución. :-( Esta API es muy fea.Una pequeña nota: [actionSheet addButtonWithTitle:] devuelve el índice de ese botón, por lo que para estar seguro y "limpio" puede hacer esto:
fuente
destructiveButtonIndexpara elloTomando las respuestas de Jaba y Nick y extendiéndolas un poco más. Para incorporar un botón de destrucción en esta solución:
fuente
Existe la versión rápida para la respuesta:
Para obtener el valor seleccionado, agregue delegado a su ViewController:
E implementar el método "clickedButtonAtIndex"
fuente