UITableView

UITableView é uma classe do UIKit em iOS que permite exibir dados em uma lista ou tabela. É uma das classes mais comuns e versáteis usadas para criar interfaces de usuário em aplicativos iOS. A UITableView é frequentemente utilizada para exibir listas de itens, como contatos, músicas, e-mails, entre outros.

Aqui estão os passos para criar e trabalhar com uma UITableView em um aplicativo iOS:

Criando uma TableView no Interface Builder (Storyboard):

  1. Abra o Xcode e crie um novo projeto ou abra um projeto existente.
  2. Abra o Main.storyboard ou o arquivo onde você deseja adicionar a TableView.
  3. Arraste e solte uma TableView do Object Library para a tela no storyboard.
  4. Crie um novo arquivo Swift para o controlador da TableView e associe a classe ao ViewController na Interface Builder.

Criando uma TableView Programaticamente em Swift:

import UIKit

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    let dados = ["Item 1", "Item 2", "Item 3"] // Dados para a TableView
    
    override func viewDidLoad() {
        super.viewDidLoad()

        // Criando uma TableView programaticamente
        let minhaTableView = UITableView(frame: view.bounds, style: .plain)
        minhaTableView.delegate = self
        minhaTableView.dataSource = self
        
        // Registrando um tipo de célula para reutilização (usando uma UITableViewCell padrão)
        minhaTableView.register(UITableViewCell.self, forCellReuseIdentifier: "MinhaCelula")
        
        // Adicionando a TableView à hierarquia de Views
        view.addSubview(minhaTableView)
    }
    
    // Implementando os métodos do protocolo UITableViewDelegate e UITableViewDataSource
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return dados.count
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "MinhaCelula", for: indexPath)
        cell.textLabel?.text = dados[indexPath.row]
        return cell
    }
}

Neste exemplo, uma UITableView é criada programaticamente e associada ao ViewController. Os métodos do protocolo UITableViewDelegate e UITableViewDataSource são implementados para fornecer dados à UITableView.

Personalizando uma TableView:

Você pode personalizar uma UITableView de várias maneiras, incluindo:

  • Estilos de Célula: Use células padrão (UITableViewCell), células personalizadas ou células dinâmicas para estilos diferentes.
  • Personalizando Células: Personalize as células usando subclasses de UITableViewCell para criar layouts personalizados.
  • Tratando Seleções: Responda aos eventos de seleção de célula usando o método tableView(_:didSelectRowAt:) do UITableViewDelegate.
  • Seções: Agrupe os dados em seções usando métodos como numberOfSections(in:) e titleForHeaderInSection:.
  • Edição: Permita que os usuários editem a tabela, adicionando ou removendo células.
  • Altura das Células: Personalize a altura das células usando o método tableView(_:heightForRowAt:).
  • Índices: Adicione índices à tabela para facilitar a navegação usando métodos como sectionIndexTitles(for:) e tableView(_:sectionForSectionIndexTitle:at:).