SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
20.11.2024

Lição: 81: Alertas, Folhas de Ação e Modais

Nesta aula, exploraremos como apresentar alertas, folhas de ação e controladores de visualização modal em uma aplicação iOS usando Swift. Esses componentes de interface do usuário são essenciais para interagir com os usuários, fornecer informações importantes ou coletar entradas do usuário.

Alertas

Um alerta é uma mensagem pop-up que exibe informações para o usuário. Ele também pode solicitar a confirmação do usuário sobre uma ação específica. Vamos ver como criar e exibir um alerta.

Criando um Alerta

Aqui está um exemplo simples que demonstra como criar e apresentar um alerta:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Exibir alerta quando a visualização for carregada
        mostrarAlerta()
    }

    func mostrarAlerta() {
        let alertController = UIAlertController(title: "Título do Alerta", 
                                                message: "Esta é uma mensagem de alerta.", 
                                                preferredStyle: .alert)

        let acaoOK = UIAlertAction(title: "OK", style: .default) { _ in
            print("OK pressionado")
        }

        alertController.addAction(acaoOK)

        // Apresentar o alerta
        present(alertController, animated: true, completion: nil)
    }
}

Alerta com Múltiplas Ações

Você também pode adicionar vários botões a um alerta. Veja como fazer isso:

func mostrarAlertaMultiplaAcoes() {
    let alertController = UIAlertController(title: "Escolha uma Opção", 
                                            message: "Selecione sua ação.", 
                                            preferredStyle: .alert)

    let acaoCancelar = UIAlertAction(title: "Cancelar", style: .cancel)
    let acaoConfirmar = UIAlertAction(title: "Confirmar", style: .default) { _ in
        print("Confirmado")
    }

    alertController.addAction(acaoCancelar)
    alertController.addAction(acaoConfirmar)

    present(alertController, animated: true, completion: nil)
}

Folhas de Ação

As folhas de ação são semelhantes aos alertas, mas deslizam de baixo para cima na tela e são usadas normalmente para apresentar um conjunto de opções relacionadas a ações que o usuário pode realizar. Vamos ver como apresentar uma folha de ação:

Criando uma Folha de Ação

func mostrarFolhaDeAcao() {
    let actionSheet = UIAlertController(title: "Escolha uma Opção", 
                                        message: "Selecione uma ação.",
                                        preferredStyle: .actionSheet)

    let acaoDeletar = UIAlertAction(title: "Deletar", style: .destructive) { _ in
        print("Deletado")
    }

    let acaoEditar = UIAlertAction(title: "Editar", style: .default) { _ in
        print("Editar selecionado")
    }

    let acaoCancelar = UIAlertAction(title: "Cancelar", style: .cancel)

    actionSheet.addAction(acaoDeletar)
    actionSheet.addAction(acaoEditar)
    actionSheet.addAction(acaoCancelar)

    present(actionSheet, animated: true, completion: nil)
}

Folha de Ação no iPad

Ao usar folhas de ação em iPads, precisamos especificar a fonte para o popover:

func mostrarFolhaDeAcaoNoIpad(de fonteView: UIView) {
    let actionSheet = UIAlertController(title: "Escolha uma Opção", 
                                        message: "Selecione uma ação.",
                                        preferredStyle: .actionSheet)

    // Restante das ações...

    actionSheet.popoverPresentationController?.sourceView = fonteView
    present(actionSheet, animated: true, completion: nil)
}

Modais

Modais são outra forma de apresentar um novo controlador de visualização sobre o controlador de visualização atual, geralmente para fins de entrada ou para apresentar funcionalidades adicionais.

Apresentando um Controller de Visualização Modal

Aqui está um exemplo de como apresentar um controlador de visualização modal:

class ModalViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .white
        let botaoDismiss = UIButton(type: .system)
        botaoDismiss.setTitle("Fechar", for: .normal)
        botaoDismiss.addTarget(self, action: #selector(dismissModal), for: .touchUpInside)
        botaoDismiss.center = view.center
        view.addSubview(botaoDismiss)
    }

    @objc func dismissModal() {
        dismiss(animated: true, completion: nil)
    }
}

func apresentarModal() {
    let modalVC = ModalViewController()
    modalVC.modalPresentationStyle = .fullScreen // ou .overFullScreen
    present(modalVC, animated: true, completion: nil)
}

Estilos de Apresentação Modal

Existem vários estilos de apresentação disponíveis para modais:

  • .fullScreen - O modal cobre toda a tela.
  • .pageSheet - O modal é exibido em uma folha padrão.
  • .formSheet - O modal é exibido em uma visualização menor centralizada (apenas no iPad).
  • .overFullScreen - O modal é exibido sobre a visualização em tela cheia.

Você pode definir o estilo de apresentação como mostrado no exemplo anterior com modalVC.modalPresentationStyle.

Conclusão

Nesta aula, abordamos como criar e exibir alertas, folhas de ação e modais em Swift usando UIKit. Esses componentes são essenciais para fornecer feedback, coletar entradas do usuário e gerenciar interações em suas aplicações iOS. Pratique o uso desses elementos de interface do usuário para aprimorar a usabilidade do seu aplicativo!

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!