Как я могу перейти к другому контроллеру представления, используя UIPickerView - PullRequest
0 голосов
/ 22 января 2019

Я реализовал UIPickerView в моем HomeViewController.UIPickerView имеет 3 различных раздела, которые должны соответствовать 3 различным контроллерам представления.Какой код мне нужно написать, чтобы выбор строки из UIPickerView перенес меня в соответствующий ViewController?

Большое спасибо!

1 Ответ

0 голосов
/ 22 января 2019

Ваш HomeViewController должен соответствовать UIPickerViewDelegate:

class HomeViewController: UIViewController, UIPickerViewDelegate {

Затем реализовать didSelectRow метод делегирования UIPickerView

Предполагается, что у вас есть только один компонент (поэтому не проверять компонентв методе)

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    print(row)
    if row == 0 {
        let vcOne = storyboard?.instantiateViewController(withIdentifier: "firstVC") as! FirstVC
        present(vcOne, animated: true, completion: nil)
        // first selection, initialize the VC related with it
    } else if row == 1 {
        let vcTwo = storyboard?.instantiateViewController(withIdentifier: "secondVC") as! SecondVC
        present(vcTwo, animated: true, completion: nil)
        // second selection, initialize the VC related with it
    } else {
        // other selections, you get the idea, you can also do switch-case
    }
}

Внутри метода делегата вы можете инициализировать и выдавать или представлять различные viewControllers в зависимости от строки.

...