Остановить контроллер предупреждений пользовательского интерфейса, возвращаясь к предыдущему виду - PullRequest
0 голосов
/ 13 января 2019

У меня в приложении есть UIAlertView. Но по какой-то странной причине, если я решу нажать кнопку «Назад» в окне оповещения. Это на самом деле приводит меня к предыдущему контроллеру представления, а не просто отключает предупреждение.

Как я могу предотвратить это? Я хочу скрыть предупреждение, только если нажата кнопка возврата

Видео выпуска: https://youtu.be/fhb-REuQiyg

Вот функция для оповещения:

let alertController = UIAlertController.init(title: "Open Map", message: "", preferredStyle: .alert)
alertController.addAction(UIAlertAction.init(title: "Google Maps", style: .default, handler: { (action) in
    self.googleMapsOpen()
}))
alertController.addAction(UIAlertAction.init(title: "Apple Maps", style: .default, handler: { (action) in
    self.appleMapsOpen()
}))
alertController.addAction(UIAlertAction.init(title: "Back", style: .default, handler: { (action) in
    self.dismiss(animated: true, completion: nil)

}))
self.present(alertController, animated: true) {
}

1 Ответ

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

Удалить это

self.dismiss(animated: true, completion: nil)

Здесь

alertController.addAction(UIAlertAction.init(title: "Back", style: .default, handler: { (action) in
    self.dismiss(animated: true, completion: nil) 
}))

контроллер предупреждений автоматически отключается, когда вы нажимаете на действие, поэтому ваше письменное отклонение отклонит также текущий представленный vc *

...