Мое приложение использует UITextField
s, которые заполнены UIPickerView
s, например, прикрепленный скриншот.Пример их настройки приведен ниже.
В настоящее время при нажатии на UITextField
он вызывает UIPickerView
, но само поле не заполняется до тех пор, пока не будет прокручена UIPickerView
.(например, чтобы заполнить UITextField
с помощью «Да, операция» в приведенном ниже примере, пользователь должен сначала перейти к «Да, PCI <6 ч назад», а затем снова выполнить резервное копирование). </p>
Какя получу это так, как только будет нажата UITextField
первая строка UIPickerView
используется для заполнения поля?
let prevCardiacIntervPickerView = UIPickerView()
prevCardiacIntervPickerView.delegate = self
prevCardiacIntervPickerView.tag = 1
prevCardiacIntervPickerField.inputView = prevCardiacIntervPickerView
var prevCardiacIntervPickerOption = ["Yes, surgery", "Yes, PCI <6h ago", "Yes, PCI >6h ago", "No"]
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
if pickerView.tag == 1 {
return prevCardiacIntervPickerOption.count
}
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if pickerView.tag == 1 {
return prevCardiacIntervPickerOption[row]
}
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if pickerView.tag == 1 {
prevCardiacIntervPickerField.text = prevCardiacIntervPickerOption[row]
}
}