HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何在视图外点击时关闭模态表单?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我不知道如何在 Swift中实现以下功能

我在我的iPad应用程序中显示模态表单弹出窗口.为了驳回这个观点,我添加一个解除它的按钮.但我真正想要的是当你点击视图外面时它会被忽略.与popover几乎相同的行为.我尝试通过添加点击手势来实现这一点,使其成为一个弹出窗口,任何演示样式,没有任何作用.

有人可能这样做,以便你可以指出我正确的方向?

解决方法

我必须在我的应用程序中显示一些像弹出窗口的屏幕,所以我已经创建了如下所示的基类:

class MyBasePopUp: UIViewController,UIGestureRecognizerDelegate {

var tap: UITapGestureRecognizer!
override func viewDidAppear(_ animated: Bool) {

    tap = UITapGestureRecognizer(target: self,action: #SELEctor(onTap(sender:)))
    tap.numberOfTapsrequired = 1
    tap.numberOfTouchesrequired = 1
    tap.cancelsTouchesInView = false
    tap.delegate = self
    self.view.window?.addGestureRecognizer(tap)
}

internal func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
    return true
}

internal func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,shouldReceive touch: UITouch) -> Bool {
    let LOCATIOn = touch.LOCATIOn(in: self.view)

    if self.view.point(inside: LOCATIOn,with: nil) {
        return false
    }
    else {
        return true
    }
}

@objc private func onTap(sender: UITapGestureRecognizer) {

    self.view.window?.removeGestureRecognizer(sender)
    self.dismiss(animated: true,completion: nil)
}

这只是为了解除弹出窗口,如果您有多个手势,请小心.

大佬总结

以上是大佬教程为你收集整理的ios – 如何在视图外点击时关闭模态表单?全部内容,希望文章能够帮你解决ios – 如何在视图外点击时关闭模态表单?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。