Изменить выберите текст UiPickerView на основе строки - PullRequest
0 голосов
/ 31 августа 2018

Привет, у меня есть UIPickerView со строками внутри, я хочу выбрать текст на основе строки: я пытаюсь объяснить себя псевдоязыком, что я хотел бы получить, это что-то вроде этого:

if uipicker.gettext ()! = "mystring" {
    uipicker.selectext("mystring)
}

Как я могу сделать это быстро?

1 Ответ

0 голосов
/ 31 августа 2018

Скорее всего, у вас есть Array строк для заполнения вашего выбора, скажем, у вас есть:

let data = ["string 1", "string 2", "string 3"]

Вы реализуете UIPickerView что-то вроде этого:

func numberOfComponents(in pickerView: UIPickerView) -> Int {
    return 1
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return data.count
}

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    return data[row]
}

Затем вы можете создать метод, который для данного String выбирает строку в средстве выбора

func selectPicker(withText text: String) {
    if let index = data.index(of: text) {
        picker.selectRow(index, inComponent: 0, animated: true)
    } else {
        print("text not found")
    }
}

И все готово:)

...