理解和实现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