программно нажать на новый viewController после нажатия кнопки uiAlert - PullRequest
1 голос
/ 14 октября 2019

Мне было интересно, можно ли нажать на новый ViewController после нажатия кнопки в UiAlertController

мой код выглядит как

 @objc func handleAcceptRequest() {
    let user = self.user
    let username = user?.name

    let alert = UIAlertController(title: "Are you Sure? ",message:" Would you like to accept \(username!) to complete your job?", preferredStyle: UIAlertController.Style.alert)

    let cancelButton = UIAlertAction(title: "Cancel", style: .default, handler: {(_ action: UIAlertAction) -> Void in
           print("you pressed cancel button")
       })

    let continueButton = UIAlertAction(title: "Continue", style: .default, handler: {(_ action: UIAlertAction) -> Void in

        let vc = viewController()
        let navController = UINavigationController(rootViewController: vc)

           print("you pressed Continue")

       })



    continueButton.setValue(GREEN_Theme, forKey: "titleTextColor")
    cancelButton.setValue(UIColor.red, forKey: "titleTextColor")
    alert.addAction(cancelButton)
    alert.addAction(continueButton)
    self.window?.rootViewController?.present(alert, animated: true, completion: nil)

  }

Я бы хотел представить ВК только в том случае, еслинажата кнопка «Продолжить», но если я вызываю настоящее

// self.present (navController, animated: true, завершение: ноль)

внутри continueButton, я получаю ошибку. неразрешенного идентификатора «присутствует»

можно ли протолкнуть новый ВК таким образом?

1 Ответ

1 голос
/ 14 октября 2019

Это не правильно

// self.present(navController, animated: true, completion: nil)

Это должно быть:

self.window?.rootViewController?. present(navController, animated: true, completion: nil)
...