Клавиатура отображается при первом нажатии для UITextField.inputView = UIPickerView
Я не мог найти ничего уважения к Свифту по этому поводу.
Я настраиваю UIPickerView
как inputView
для 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]
}
1 ответ
Решение
Убедитесь, что вы устанавливаете свой 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