当 UIPickerView 与 TextField 的 inputView 相关联时,如何重置它?
How do I reset a UIPickerView when it is associated with a TextField's inputView?
我有一个 UITextField,其 inputView 设置为等于 UIPickerView
let thePicker = UIPickerView()
txtCategory.inputView = thePicker
thePicker.delegate = self
我有这些选择器功能
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView( _ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return categoryList.count
}
func pickerView( _ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return categoryList[row]
}
func pickerView( _ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
txtCategory.text = categoryList[row]
}
按下按钮后,如何将选择器设置回索引 0?我认为这段代码可以完成工作 myPicker.selectRow(0, inComponent: 0, animated: false)
,我只是不知道我的选择器控件的名称,因为我将文本字段的输入视图设置为等于选择器。
曾经的解决方案是实施 func textFieldDidBeginEditing(_ textField: UITextField)
委托方法。然后查看文本字段的 inputView
是否是选择器视图。如果是这样,请根据需要重置选择器视图。
func textFieldDidBeginEditing(_ textField: UITextField) {
if let picker = textField.inputView as? UIPickerView {
picker.selectRow(0, inComponent: 0, animated: false)
}
}
如果您有多个使用选择器视图的文本字段,并且您只想为某些文本字段重置选择器,请添加检查以查看 textField
是否是您需要的选择器之一处理。
我有一个 UITextField,其 inputView 设置为等于 UIPickerView
let thePicker = UIPickerView()
txtCategory.inputView = thePicker
thePicker.delegate = self
我有这些选择器功能
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView( _ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return categoryList.count
}
func pickerView( _ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return categoryList[row]
}
func pickerView( _ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
txtCategory.text = categoryList[row]
}
按下按钮后,如何将选择器设置回索引 0?我认为这段代码可以完成工作 myPicker.selectRow(0, inComponent: 0, animated: false)
,我只是不知道我的选择器控件的名称,因为我将文本字段的输入视图设置为等于选择器。
曾经的解决方案是实施 func textFieldDidBeginEditing(_ textField: UITextField)
委托方法。然后查看文本字段的 inputView
是否是选择器视图。如果是这样,请根据需要重置选择器视图。
func textFieldDidBeginEditing(_ textField: UITextField) {
if let picker = textField.inputView as? UIPickerView {
picker.selectRow(0, inComponent: 0, animated: false)
}
}
如果您有多个使用选择器视图的文本字段,并且您只想为某些文本字段重置选择器,请添加检查以查看 textField
是否是您需要的选择器之一处理。