У меня проблема с отображением значения, выбранного из UIPickerView на UITextField.Я добавил все необходимые функции, чтобы это работало, но текстовое поле не обновляется.
Вот код ViewController.swift
@IBOutlet weak var requestDestination: UITextField!
var itemSelected : String?
var pickerData = ["Bollate" , "Baranzate" , "Garbagnate" , "Novate Milanese" , "Paderno Dugnano" , "Certosa"]
override func viewDidLoad() {
super.viewDidLoad()
let thePicker = UIPickerView()
thePicker.delegate = self
thePicker.dataSource = self
requestDestination.inputView = thePicker
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard (_:)))
self.view.addGestureRecognizer(tapGesture)
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return pickerData.count
}
func pickerView( _ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return pickerData[row]
}
private func pickerView( pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
itemSelected = pickerData[row]
requestDestination.text = itemSelected
}
@objc func dismissKeyboard (_ sender: UITapGestureRecognizer) {
requestDestination.resignFirstResponder()
}
Я прикрепил скриншот, где я показываю первый TextEdit, который не получает значение из PickerView.