1

在这件事上,我对斯威夫特毫无尊重。

我正在UIPickerViewinputViewa 配置 a UITextField

一切正常,但是当我第一次点击这个特定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]
}
4

1 回答 1

2

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

于 2015-11-10T17:04:20.860 回答