Действие Swift — push alert для отображения нового ViewController

#ios #swift #uialertcontroller

#iOS #swift #uialertcontroller

Вопрос:

Как отобразить или связать с новым ViewController, когда кнопка находится в состоянии тревоги?

введите описание изображения здесь

Это мой код

 let alert = UIAlertController(title: validateQRObj.responseDescription, message: validateQRObj.productName, preferredStyle: .alert)
let action = UIAlertAction(title: "OK", style: .default) { (action) -> Void in
    let viewController = self.storyboard?.instantiateViewController(withIdentifier: "ProductDetialViewController")
    self.present(viewController!, animated: true, completion: nil)
}
alert.addAction(action)
self.present(alert, animated: true, completion: nil)
  

Комментарии:

1. Какая проблема у вас возникла с опубликованным вами кодом?

Ответ №1:

Управляйте перетаскиванием с View Controller 1 (желтая точка) в любое место на View Controller 2, а затем нажмите на переход. Покажите инспектор атрибутов и в разделе Идентификатор перехода к раскадровке назовите идентификатор VC2

Если это тот ответ, который вы искали, не забудьте исключить ответ.

 func alert(){

    let alertController = UIAlertController(title: "Open View Controller. ", message: "Press  Ok  to open View Controller number 2.", preferredStyle: UIAlertControllerStyle.alert)
    let ok = UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler: {(action) -> Void in
    //The (withIdentifier: "VC2") is the Storyboard Segue identifier.
    self.performSegue(withIdentifier: "VC2", sender: self)
 })

    alertController.addAction(ok)
    self.present(alertController, animated: true, completion: nil)
}
  

Ответ №2:

Для меня это не работает. Я сделал :

     func alert(){
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let twop = storyboard.instantiateViewController(withIdentifier: "Accueil") as! Accueil
    let alertController = UIAlertController(title: "Open new View !", message: "Clic to ok", preferredStyle: UIAlertControllerStyle.alert)
    let ok = UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler: {(action) -> Void in
        self.navigationController?.show(twop, sender: self)
    })

    alertController.addAction(ok)
    self.present(alertController, animated: true, completion: nil)
}
  

и теперь это работает!!