停止UI Alert Controller返回先前的视图

时间:2019-01-13 17:02:36

标签: ios swift uialertcontroller

我的应用程序中有一个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 :(得分:4)

删除此

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

这里

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

当您按下该操作时,警报控制器会自动关闭,因此您的书面关闭也将关闭当前显示的vc