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):
- Abra o Xcode e crie um novo projeto ou abra um projeto existente.
- Abra o Main.storyboard ou o arquivo onde você deseja adicionar o UIPickerView.
- Na biblioteca de objetos (Object Library), procure “Picker View”.
- Arraste e solte o Picker View para a tela no storyboard.
- Crie um
IBOutlet
para o UIPickerView no seu View Controller para poder acessá-lo no código. - 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.