Menu
Coddy logo textTech

Sheets e Alertas

Parte da seção Introdução ao SwiftUI do Journey de Swift da Coddy. Lição 37 de 50.

Uma sheet desliza uma visualização para cima sobre a tela atual. Ela é exibida enquanto um estado Bool for verdadeiro:

@State private var showHelp = false

Button("Help") { showHelp = true }
    .sheet(isPresented: $showHelp) {
        Text("Swipe down to close")
    }

Um alerta faz uma pergunta curta. Ele funciona da mesma forma, com um título, botões e uma mensagem opcional:

Button("Delete") { askDelete = true }
    .alert("Delete photo?", isPresented: $askDelete) {
        Button("Delete", role: .destructive) { deletePhoto() }
        Button("Cancel", role: .cancel) { }
    } message: {
        Text("This cannot be undone.")
    }

Tocar em qualquer um dos botões do alerta executa sua ação e fecha o alerta, definindo o estado novamente como false. Dentro de uma folha, @Environment(\.dismiss) var dismiss fornece uma ação dismiss() que a fecha a partir do código.

challenge icon

Desafio

Médio

Quando o usuário tocar em Save, mostre um alerta intitulado Saved! com a mensagem Your note is stored. e um botão OK. Use o estado showSaved.

Experimente você mesmo

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Introdução ao SwiftUI

Pratique por conta própria: Playground de Swift