理解和实现UIAlert可能会很棘手,特别是如果您不熟悉iOS开发,在这篇文章中,我们将看到当用户在警报框外点击时如何解除警报。
对于此演示,我们将使用UIAlert类,以使用要显示的消息以及可供选择的操作来配置警报和操作表。用所需的动作和样式配置警报控制器后,请使用present(_:animated:complete :)方法显示警报控制器。UIKit在您的应用程序内容上以模态显示警报和操作表。
您可以阅读有关它的更多信息:https : //developer.apple.com/documentation/uikit/uialertcontroller
所以我们开始吧
步骤1-打开Xcode并创建一个单一视图应用程序,并将其命名为UIAlertSample。
步骤2-在Main中。故事板添加一个按钮,并创建@IBAction并将其命名为showAlert,
@IBAction func showAlert(_ sender: Any) { }
因此,基本上,当我们点击按钮时,将显示警报,而当用户在警报外部点击时,警报将被消除。
步骤3-内部按钮动作showAlert,首先如下创建UIAlert对象
let uialert = UIAlertController(title: "WELCOME", message: "Welcome to my tutorials, tap outside to dismiss the alert", preferredStyle: .alert)
步骤4-呈现警报,并在其完成时添加一个选择器,如下所示,
self.present(uialert, animated: true, completion:{ uialert.view.superview?.isUserInteractionEnabled = true uialert.view.superview?.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dismissOnTapOutside))) })
步骤5-添加选择器功能,
@objc func dismissOnTapOutside(){ self.dismiss(animated: true, completion: nil) }
步骤6-运行应用程序,
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } @IBAction func showAlert(_ sender: Any) { let uialert = UIAlertController(title: "WELCOME", message: "Welcome to my tutorials, tap outside to dismiss the alert", preferredStyle: .alert) self.present(uialert, animated: true, completion:{ uialert.view.superview?.isUserInteractionEnabled = true uialert.view.superview?.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dismissOnTapOutside))) }) } @objc func dismissOnTapOutside(){ self.dismiss(animated: true, completion: nil) } }