Проблема при отображении значения UIPickerView на TextEditor Swift - PullRequest
0 голосов
/ 02 декабря 2018

У меня проблема с отображением значения, выбранного из 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.

enter image description here

1 Ответ

0 голосов
/ 02 декабря 2018

У вас неправильная didSelectRow подпись, поэтому она никогда не вызывается.Вы пропустили _.Позвольте XCode завершить методы для вас вместо того, чтобы пытаться напечатать их самостоятельно.

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
...