我试着创建一个自定义的UIPickerView,因为我需要许多不同的自定义PickerView来连接到我的一个UIViewController。
我创建以下代码:
let estadosArray = ["AC","AL","AP","AM","BA","CE","ES","GO","MA","MT","MS","MG","PA","PB","PR","PE","PI","RJ","RN","RS","RO","RR","SC","SP","SE","TO","DF"]
class EstadosPickerView: UIViewController {
let myTextField: UITextField
var myPickerView: UIPickerView = UIPickerView()
init(ufExpedicaoTextField: UITextField) {
self.myTextField = ufExpedicaoTextField
myTextField.inputView = myPickerView
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
extension EstadosPickerView: UIPickerViewDelegate, UIPickerViewDataSource {
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return estadosArray.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return estadosArray[row]
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
myTextField.text = estadosArray[row]
myTextField.resignFirstResponder()
}
}
当我在UIViewController上单击UITextField时,UIPickerView出现,但它不显示任何数据。是空的
我的代码没有显示任何数据,这是什么问题?
1条答案
按热度按时间pkwftd7m1#
也许您忘记了选择器的定义dataSource和委托