List

List SwiftUI

Uma List é um container que apresenta linhas de dados arranjados em uma única coluna, também podendo criar seções para dividir o conteúdo. Além disso, permite selecionar um ou mais membros da lista simultaneamente caso você deseje ativar esta funcionalidade.

Criando uma Lista Estática

Por padrão, ao criar uma List, todos os seus elementos serão estáticos, ou seja, todos os elementos são definidos manualmente em seu código. Pode ser criada da seguinte maneira:

Criando uma Lista Dinâmica

Algo muito comum é a criação de listas dinâmicas, onde o conteúdo apresentado provém de alguma coleção de dados, como arrays, sets, entre outros.

O exemplo a seguir cria uma lista simples de um array do tipo Aluno, que representará os alunos de uma sala de aula:

Adicionando Suporte a Seleção

Para adicionar o suporte a seleção em uma List, é preciso criar uma variável de seleção que vai armazenar os itens que estão selecionados.

Para que os itens da lista possam ser selecionados, é necessário o tipo de dado associado ao item se conforme ao protocolo identifiable, onde será requisitado um identificador único para o elemento, que muitas vezes pode ser atendido au usar um UUID.

O único porém é que a seleção só pode ser efetivamente usada quando a lista estiver em modo de edição.

Existem dois tipos de seleção para a lista:

  • Seleção Única

    Permite selecionar apenas um elemento da lista por vez. A variável de seleção deve ser uma optional com o mesmo tipo de dado do identificador requisitado pelo protocolo identifiable.

  • Seleção Múltipla

    Permite selecionar vários elementos por vez. A variável de seleção segue o mesmo esquema da seleção única, porém deve estar contida em um Set.

Criando uma Lista com Seções

É possível criar seções em uma List para separar os conteúdos de uma forma customizada, utilizando uma ou mais instâncias do tipo Section.

O exemplo a seguir cria uma estrutura que mostra o nome das salas de aula e os alunos que estão presentes em cada sala por meio de um Text. O exemplo também permite a seleção única de um aluno, identificado por seu id.

Estilizando uma Lista

SwiftUi escolhe o estilo da uma lista baseado em qual plataforma e qual é o tipo da view em que ela aparecerá. Para alterar este estilo, utilize o modificador listStyle(_:) como no exemplo adiante.

É possível escolher enter uma série de estilos, como:

  • .grouped
  • .inset
  • .insetGrouped
  • .plain
  • .sidebar
Anterior
Anterior

Form

Próximo
Próximo

Group