将 UITextField 用作输入视图时从 UIPickerView 获取它

Mat*_*der 1 uipickerview uitextfield ios swift

有没有可能UITextFieldUIPickerView?我把我UIPickerViewinputView文字存档。我在屏幕上有几个文本字段,我想简单地获取显示选择器视图的当前文本字段。

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
   // something like let textField = pickerView.requestedTextField
}
Run Code Online (Sandbox Code Playgroud)

有什么办法吗?

Nir*_*v D 5

如果您有多个textField显示 pickerView,那么textField在您的viewController 中再创建一个这样的实例,并在其中使用此对象textFieldDidBeginEditing并将其引用分配textField给该 tempTextField。

var selectedTextField: UITextField = UITextField()

func textFieldDidBeginEditing(textField: UITextField!) { 
    self.selectedTextField = textField
}
Run Code Online (Sandbox Code Playgroud)

现在在使用此 textField 的didSelectRow方法中PickerViewo 知道当前的编辑字段。

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    if self.selectedTextField == countryField {
        //Set text for countryField 
    }
    else self.selectedTextField == stateField {
        //Set text for stateField 
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:例如我已经使用过countryFieldstateField您可以使用 textField 来设置文本。