Вы должны добавить пользовательскую кнопку "Назад" в вашем viewDidload
, например,
override func viewDidLoad() {
super.viewDidLoad()
let newBackButton = UIBarButtonItem(title: "Back", style: UIBarButtonItem.Style.plain, target: self, action: #selector(self.backAction(sender:)))
self.navigationItem.leftBarButtonItem = newBackButton
}
Это метод действия кнопки «Назад», так что вы можете добавить свое предупреждение здесь и добавить действие так, как вы хотите, вот так:
@objc func backAction(sender: UIBarButtonItem) {
let alertController = UIAlertController(title: "Are You Sure?", message: "If You Proceed, All Data On This Page Will Be Lost", preferredStyle: .alert)
let okAction = UIAlertAction(title: "Ok", style: .default) { (result : UIAlertAction) -> Void in
self.navigationController?.popViewController(animated: true)
}
let cancelAction = UIAlertAction(title: "Cancel", style: .default, handler: nil)
alertController.addAction(cancelAction)
alertController.addAction(okAction)
self.present(alertController, animated: true)
}