Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 第一次轻触UITextField时显示键盘。inputView=UIPickerView_Ios_Swift_Uitextview_Uipickerview_Inputview - Fatal编程技术网

Ios 第一次轻触UITextField时显示键盘。inputView=UIPickerView

Ios 第一次轻触UITextField时显示键盘。inputView=UIPickerView,ios,swift,uitextview,uipickerview,inputview,Ios,Swift,Uitextview,Uipickerview,Inputview,在这件事上,我对斯威夫特毫无敬意 我正在将UIPickerView配置为UITextField的inputView 一切正常,但当我第一次点击这个特定的UITextField时,显示的是键盘,而不是UIPickerView,如果我再次点击它,就会显示UIPickerView 有人知道我做错了什么吗 请参阅我的代码的某些部分 @IBAction func textFieldEditingMot(sender: UITextField) { let motivoPicker: UIPick

在这件事上,我对斯威夫特毫无敬意

我正在将
UIPickerView
配置为
UITextField
inputView

一切正常,但当我第一次点击这个特定的
UITextField
时,显示的是键盘,而不是
UIPickerView
,如果我再次点击它,就会显示
UIPickerView

有人知道我做错了什么吗

请参阅我的代码的某些部分

@IBAction func textFieldEditingMot(sender: UITextField) {

    let motivoPicker: UIPickerView = UIPickerView()

    motivos = ["Pedido de demissão","Dispensa sem justa causa","Dispensa com justa causa", "Término do contrato de experiência"]

    motivoPicker.delegate = self
    motivoPicker.dataSource = self
    motivoTextField.inputView = motivoPicker

}

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int
{
    return 1
}

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int
{
    return motivos.count
}

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
{
    motivoTextField.text = motivos[row]
}

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?
{
    return motivos[row]
}

确保您正在设置UITextFieldDelegate,然后我还会移动所有这些:

let motivoPicker: UIPickerView = UIPickerView()

motivos = ["Pedido de demissão","Dispensa sem justa causa","Dispensa com justa causa", "Término do contrato de experiência"]

motivoPicker.delegate = self
motivoPicker.dataSource = self
motivoTextField.inputView = motivoPicker

要查看DIDLOAD

您是否设置了UITextFieldDelegate?我是这方面的新手,您能解释一下我是如何做到这一点的吗?仅此而已!我把这个放在
iAction
中,非常感谢你的帮助,它工作得非常好。太棒了!很高兴我能帮上忙!:)