Cuadros de diálogo de Alerta y Confirmacion en SwiftUI


Presentar una alerta es una de las funcionalidades que se utilizan habitualmente al desarrollar aplicaciones. Con una alerta, puede informar a los usuarios sobre imposibilidades, entradas no válidas o cualquier otra cosa que requiera una alerta.

Alerta de notificación simple

El cuadro de diálogo de notificación simple se compone de un titulo, mensaje y un botón de cerrar la vista.

struct ContentView: View {
    @State private var showingAlert = false
...
Button("Mostar Alerta") {
    showingAlert = true
}.alert("Mensaje importante", isPresented: $showingAlert) {
    Button("OK", role: .cancel) { }
}

Si se requiere añadir un mensaje

struct ContentView: View {
    @State private var showingAlert = false
...
Button("Mostar Alerta") {
    showingAlert = true
}
.alert(isPresented: $showingAlert) {
    Alert(
        title: Text("Sin conexión a internet"),
        message: Text("Comprueba tu conexión y vuelve a intentarlo"),
        dismissButton: .default(Text("OK")))

}

Cuadro de diálogo de confirmación

Mostrar un cuadro de diálogo de confirmación (Aceptar/Cancelar) en SwiftUI, de esa forma se mostrará una confirmación al usuario y en función de si responde Aceptar o Cancelar se realice una acción u otra.

struct ContentView: View {
    @State private var showingConfirmAlert = false
...
Button("Mostar Alerta") {
    showingConfirmAlert = true
}
.alert(isPresented: $showingConfirmAlert) {
    Alert(
        title: Text("Eliminar nota"),
        message: Text("Está seguro que quiere eliminar la nota? Esa acción es irreversible"),
        primaryButton: .destructive( Text("Eliminar")) {
            print("deleting...")
        },secondaryButton: .cancel() {
            print("canceling...")
        })
}

Cuadro de diálogo de acción

Si se require ofrecer al usuario un conjunto de acciones a realizar se debe usar un cuadro de acción, aparecerá una vista con la opciones a realizar.

struct ContentView: View {
    @State private var showingOtherOptions = false
...
Button("Mostar opciones") {
    showingOtherOptions = true
}
.confirmationDialog("Visibilidad de la nota", isPresented: $showingOtherOptions, titleVisibility: .visible) {
    Button("Pública") {
        print("set note public...")
    }
    Button("Privada") {
        print("set note private...")
    }
    Button("Protegida con contraseña") {
        print("set note with password...")
    }
}

Publicado por Webserveis

Desarrollador freelance programador apasionado por el arte de programar, amante del auto aprendizaje y interesado por la tecnología en general.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: