2015-11-10 28 views
0

我无法找到关于这件事Swift的任何方面。键盘在第一次点击时显示为UITextField.inputView = UIPickerView

对于UITextField,我将UIPickerView配置为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] 
} 
+0

你有UITextFieldDelegate设置? –

+0

我是新手,你能解释我该怎么做? –

回答

0

确保你设置你的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 

到viewDidLoad中

+1

这就是它!我把它放在'IBAction'里面,非常感谢你的帮助,它的工作非常完美。 –

+0

太棒了!很高兴我可以得到一些帮助! :) –

相关问题