我正在尝试制作一个下拉列表并尝试使用 PickerView。但是在选择器视图中选择项目后,我找不到更新文本字段的方法。
我怀疑pickerView 函数的“didSelectRow”根本没有被调用,尽管我不知道如何检查它。(我试图打印选定的行,但没有任何反应)。
这就是我在 Interface Builder 所做的:
制作一个文本字段。将 Picker View 从 Library 拖到界面中。
连接插座和 PickerView。
ctl 将 PickerView 拖到 View Controller 处的黄色图标上,然后选择委托和数据源。
ctl 将文本字段拖到 View Controller 上的黄色图标上,然后选择委托。
希望有人可以帮忙。
以下是我的代码:
导入 UIKit
类视图控制器:UIViewController,UIPickerViewDelegate,UIPickerViewDataSource {
@IBOutlet weak var pickerBox: UIPickerView!
@IBOutlet weak var textBox: UITextField!
var list = ["Item 1", "Item 2", "Item 3"]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
func numberOfComponents(in pickerView: UIPickerView) -> Int{
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return list.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
var listingTypesArray = Array(list)
return listingTypesArray[row]
}
func pickerView(pickerView: UIPickerView!, didSelectRow row: Int, forComponent component: Int) {
self.textBox.text = list[row]
print("Row: \(row)")
}
}