Как передать данные из UI Alert Controller в другой контроллер представления iOS - PullRequest
0 голосов
/ 18 декабря 2018

Я работаю над сканированием посещаемости приложения.немного запутаться в том, как открыть другой контроллер представления через представление предупреждения.

Это мой код:

let actionSheet = UIAlertController (title: "Please Confirm Before Scan", message: messageToShow, preferredStyle: .alert)

let okAction = UIAlertAction (title: "Proceed to Scan", style: .default, handler: {action in

picker.sourceType = .camera

let cancelAction = UIAlertAction (title: "Reselect", style: .cancel, handler: nil);},

actionSheet.addAction(FourthViewController),

actionSheet.addAction(canPerformAction),

present(actionSheet, animated: true, completion: nil)

)}

Я хочу, чтобы мой просмотр предупреждений пользовательского интерфейса при нажатии "перейти к сканированию" и перейти к другому FourthViewController .

Ответы [ 2 ]

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

Вы можете сделать так:

let actionSheet = UIAlertController (title: "Please Confirm Before Scan", message: "messageToShow", preferredStyle: .alert)
let okaction = UIAlertAction(title: "Proceed to Scan", style: .default) { (action) in
    gotoFouthViewController(/*add argument if needed*/)
}
let cancelaction = UIAlertAction(title: "Reselect", style: .cancel) { (action) in
    //cancel the alert
}
actionSheet.addAction(okaction),
actionSheet.addAction(cancelaction),
present(actionSheet, animated: true, completion: nil)

// где-нибудь в текущем контроллере добавить это

func gotoFouthViewController(argument) {
  //push or present the fourth view controller here
}
0 голосов
/ 18 декабря 2018

Зависит от вашей иерархии представлений.

Допустим, вы хотите поместить контроллер представления при действии оповещения в стек навигации текущего контроллера представления.Внутри действия вам нужно будет написать код для отклонения UIAlertController, а затем вы можете вставить FourthViewController в стек навигации или, если вы хотите представить FourthViewController ,тогда просто представьте это.

//inside the view controller presenting the alert
alertController.addAction(UIAlertAction(title: "Yo", style: .default, handler: { (action) in
    DispatchQueue.main.async{
       alertController.dismiss(animated: true, completion: nil)
       //push or whatever by referencing self
    }
}))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...