Tengo una vista de alerta en Xcode escrita en Swift y me gustaría determinar qué botón seleccionó el usuario (es un cuadro de diálogo de confirmación) para no hacer nada o ejecutar algo.
Actualmente tengo:
@IBAction func pushedRefresh(sender: AnyObject) {
var refreshAlert = UIAlertView()
refreshAlert.title = "Refresh?"
refreshAlert.message = "All data will be lost."
refreshAlert.addButtonWithTitle("Cancel")
refreshAlert.addButtonWithTitle("OK")
refreshAlert.show()
}
Probablemente estoy usando los botones incorrectamente, corríjame ya que todo esto es nuevo para mí.
Respuestas:
Si está usando iOS8, debería usar UIAlertController - UIAlertView está en desuso .
A continuación, se muestra un ejemplo de cómo utilizarlo:
Como puede ver, los controladores de bloques para UIAlertAction manejan las pulsaciones de botones. Hay un gran tutorial aquí (aunque este tutorial no está escrito con swift): http://hayageek.com/uialertcontroller-example-ios/
Actualización de Swift 3:
Actualización de Swift 5:
fuente
UIAlertActionStyle.Cancel
lugar de.Default
en su ejemplo.fuente
// definición de función:
// definición de función logoutFun ():
fuente
Puede hacer esto fácilmente usando UIAlertController
.
Referencia: iOS Show Alert
fuente
Es posible que desee considerar el uso de SCLAlertView , alternativa para UIAlertView o UIAlertController .
UIAlertController solo funciona en iOS 8.xo superior, SCLAlertView es una buena opción para admitir versiones anteriores.
github para ver los detalles
ejemplo:
fuente