当前位置: 首页 > 编程笔记 >

如何通过单击iOS中的警报外部来关闭警报?

后化
2023-03-14
本文向大家介绍如何通过单击iOS中的警报外部来关闭警报?,包括了如何通过单击iOS中的警报外部来关闭警报?的使用技巧和注意事项,需要的朋友参考一下

理解和实现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)
   }
}
 类似资料:
  • 问题内容: 我想通过单击其中的关闭链接 或 单击该div外部的任何位置来隐藏div。 我正在尝试下面的代码,它可以通过单击正确的关闭链接来打开和关闭div,但是如果我在单击div以外的任何位置来关闭它时遇到问题。 问题答案: 另一种使您的jsfiddle减少错误的方法(需要双击打开)。 这不会在主体级别使用任何委托事件 设置为DIV .popup(以及样式CSS )

  • 问题内容: 我希望能够在一定时间后或在特定事件(例如)后使用Javascript自动关闭警报框。从我的研究来看,内置函数似乎不可能实现。有没有办法覆盖它并控制它打开的对话框? 另外,我不希望显示隐藏的div作为警报的替代。我需要一个实际的对话框。 问题答案: 如前所述,您确实无法做到这一点。您可以使用UI框架在窗口内进行模式对话框,也可以具有弹出窗口,该脚本具有超时后自动关闭的脚本…每个方面都有负

  • 我的猜测是,和在关闭应用程序后为空,并且没有保存。但我不知道怎么解决这个问题。

  • 当我点击显示“alert()”函数的“Ok”按钮时,引导模式关闭。 下面是我的jQuery: 以下是我的html: 我正在从模式上的事件创建一个警报弹出窗口,但当单击警报()弹出窗口的“确定”时,它消失了。 如何防止在警报弹出窗口上点击“确定”后关闭模式? 谢啦

  • 我知道这可能是一个容易修复的错误,但我没有找到它。当警报框出现并点击时,需要点击2次才能关闭它

  • 配置了策略,一直没有报警,如何排查? 排查sender、alarm、judge、hbs、agent、transfer的log 浏览器访问alarm的http页面,看是否有未恢复的告警,如果有就是生成报警了,后面没发出去,很可能是邮件、短信发送接口出问题了,检查sender中配置的api 打开agent的debug,看是否在正常push数据 看agent配置,是否正确配置了heartbeat(hbs