PickerView

UIPickerView é uma classe do UIKit em iOS que fornece uma interface de usuário para selecionar um item de um conjunto predefinido de opções. Ele é semelhante a um menu suspenso, mas com um layout mais flexível e a capacidade de exibir várias colunas de dados. Aqui estão os passos para criar e trabalhar com um UIPickerView em um aplicativo iOS:

Criando um PickerView 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 o UIPickerView.
  3. Na biblioteca de objetos (Object Library), procure “Picker View”.
  4. Arraste e solte o Picker View para a tela no storyboard.
  5. Crie um IBOutlet para o UIPickerView no seu View Controller para poder acessá-lo no código.
  6. Configure o delegado e a fonte de dados do UIPickerView para o seu View Controller.

Criando um PickerView Programaticamente em Swift:

import UIKit

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
    @IBOutlet weak var pickerView: UIPickerView!
    
    let dados = ["Opção 1", "Opção 2", "Opção 3"] // Dados para o PickerView
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        pickerView.delegate = self
        pickerView.dataSource = self
    }
    
    // Implementando os métodos do protocolo UIPickerViewDelegate e UIPickerViewDataSource
    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 1 // Número de colunas no PickerView
    }
    
    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return dados.count // Número de linhas no PickerView
    }
    
    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        return dados[row] // Título para cada linha no PickerView
    }
    
    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        let opcaoSelecionada = dados[row]
        print("Opção selecionada: \(opcaoSelecionada)")
    }
}

Neste exemplo, um UIPickerView é configurado no código. Os métodos do protocolo UIPickerViewDelegate e UIPickerViewDataSource são implementados para fornecer dados ao UIPickerView. Quando o usuário seleciona uma opção, a função pickerView(_:didSelectRow:inComponent:) é chamada para processar a seleção.

Personalizando um PickerView:

Você pode personalizar um UIPickerView de várias maneiras, incluindo:

  • Número de Colunas: Implemente o método numberOfComponents(in:) para definir o número de colunas no PickerView.
  • Número de Linhas: Implemente o método pickerView(_:numberOfRowsInComponent:) para definir o número de linhas em cada coluna.
  • Conteúdo das Linhas: Implemente o método pickerView(_:titleForRow:forComponent:) para definir o conteúdo de cada linha no PickerView.
  • Altura das Linhas: Implemente o método pickerView(_:rowHeightForComponent:) para definir a altura das linhas.
  • Seleção: Use o método selectRow(_:inComponent:animated:) para selecionar programaticamente uma linha no PickerView.