首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何取消/重置UIGestureRecognizer

如何取消/重置UIGestureRecognizer

取消/重置UIGestureRecognizer的方法可以通过以下步骤实现:

  1. 设置手势识别器的手势执行目标

使用target属性指定手势识别器执行的目标对象。例如,如果您有一个按钮对象,您可以通过设置target属性为按钮对象本身来将手势识别器关联到按钮上。

代码语言:swift
复制

let gestureRecognizer = UIPinchGestureRecognizer(target: self, action: #selector(handlePinchGesture(_:)))

代码语言:txt
复制
  1. 提供重置方法

UIGestureRecognizer类添加一个方法,用于取消当前的手势并释放相关资源。在dealloc方法中调用此方法。

代码语言:swift
复制

override func dealloc() {

代码语言:txt
复制
   super.dealloc()
代码语言:txt
复制
   resetGestureRecognizer()

}

private func resetGestureRecognizer() {

代码语言:txt
复制
   // 取消当前手势
代码语言:txt
复制
   gestureRecognizer.enabled = false
代码语言:txt
复制
   gestureRecognizer.cancelsTouchesInView = false
代码语言:txt
复制
   // 若需要,重置手势识别器
代码语言:txt
复制
   gestureRecognizer.reset()

}

代码语言:txt
复制
  1. 重置手势识别器

在需要重置手势识别器时调用resetGestureRecognizer()方法。这将从新开始识别手势。

代码语言:swift
复制

func resetGestureRecognizer() {

代码语言:txt
复制
   // 取消当前手势
代码语言:txt
复制
   gestureRecognizer.enabled = false
代码语言:txt
复制
   gestureRecognizer.cancelsTouchesInView = false
代码语言:txt
复制
   // 若需要,重置手势识别器
代码语言:txt
复制
   gestureRecognizer.reset()

}

代码语言:txt
复制
  1. 重置并重新启用手势识别器

当需要重置并重新启用手势识别器时,请确保在调用此方法之前,手势识别器没有正在执行手势。

代码语言:swift
复制

func resetGestureRecognizerAndStartNewGesture() {

代码语言:txt
复制
   // 取消当前手势
代码语言:txt
复制
   gestureRecognizer.enabled = false
代码语言:txt
复制
   gestureRecognizer.cancelsTouchesInView = false
代码语言:txt
复制
   // 若需要,重置手势识别器
代码语言:txt
复制
   gestureRecognizer.reset()
代码语言:txt
复制
   // 重新启用手势识别器
代码语言:txt
复制
   gestureRecognizer.enabled = true
代码语言:txt
复制
   gestureRecognizer.cancelsTouchesInView = true

}

代码语言:txt
复制

通过实现上述方法,您可以在UIGestureRecognizer类中实现取消和重置功能。这样,在手势识别过程中出现问题时,您可以轻松地重置并重新开始。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WordPress 如何重置密码

通过电子邮件访问重置 WordPress 站点密码。 在没有电子邮件访问权限的情况下重置 WordPress 站点密码。...通过电子邮件访问重置 WordPress 站点密码:如果您忘记了密码,但可以访问电子邮件帐户来创建 WordPress 用户,则重置密码非常容易。 1.点击“忘记密码?” 在网站的登录页面上。...2.输入您的 WordPress 用户的用户名或电子邮件地址,然后单击“获取新密码” 3.按照邮件中收到的说明重置您的密码。...在没有电子邮件访问权限的情况下重置 WordPress 站点密码:如果您无法访问创建 WordPress 用户时提供的电子邮件地址,该怎么办。好吧,我们总是可以跳到我们的数据库中手动更改密码。

3K51
  • 如何取消网站备案 取消网站备案的流程

    当网站经营了一段时间以后,网站的经营者不想使用网站,想要将网站关停,而网站关停后需要取消网站备案,以此避免后续的相关问题。然而大多数的站主在关闭网站后,并不知道如何取消网站备案?...那么接下来就给大家介绍一下网站关停后如何取消备案的方法。 如何取消网站备案 当网站经营了一段时间以后,网站的经营者不想使用网站,想要将网站关停,而网站关停后需要取消网站备案,以此避免后续的相关问题。...然而大多数的站主在关闭网站后,并不知道如何取消网站备案?那么接下来就给大家介绍一下网站关停后如何取消备案的方法。 如何取消网站备案 如何取消网站备案?...取消网站备案的流程 在取消网站备案之前,首先要检查自己的网站是否备案,如果之前没有备案过,那么可以按照取消网站备案的正常流程进行取消,若是之前备案过,但是网站处于关闭无法打开的情况下,且主体下有且只有一个已经备案过的域名...以上就是关于如何取消网站备案的相关操作与流程。

    29.2K20

    Flutter 中如何取消任务

    前言 在开发过程中,取消需求是很常见的,但很容易被忽略。然而,取消需求的好处也很大。例如,在页面中会发送很多请求。如果页面被切走并处于不可见状态,就需要取消未完成的请求任务。...如果未及时取消,则可能会导致以下负面影响: 消耗用户额外数据流量。 任务回调持有全局上下文变量,未及时释放存在内存泄漏风险 异步请求过多消耗大量系统资源,拖慢 UI 线程,造成卡顿。...在 Flutter 中,如何取消已经在进行的任务呢?首先需要掌握一些基础知识。 前置知识 Future#any 方法 传入一个 Future 任务列表,返回第一个完成的异步任务,无论成功或失败。...Dio 取消实现解析 dio 版本 dio: dev v5.0.3 git: 67f07b86a0976c14a6e19061563832d92ed6772b branch: main 如何取消...说明 取消任务不仅限于网络请求。任何实际业务中包含不必要的耗时操作都可以通过 Future.any 配合 CancelToken 来实现取消

    78210

    如何取消或撤回EDI文件

    很多企业在使用EDI传输数据的时候,也会出现传输数据有误的情况,例如传输了重复的文件,下单不满足供应商要求,在错误的时间点上传了文件等等,那么当发出有误的EDI数据之后,如何进行撤回呢?...通过当前报文进行取消或撤回 很多EDI报文中都有特定的字段来表示此报文的作用,以下856报文为例: 报文开始的BSN01字段 00代表Original,即原始数据 01代表Cancellation,即取消...通过发送其他报文进行取消和信息变更 有时,如果发送了有误的数据,可以用其他的报文来进行取消/变更操作。...如何避免产生错误的数据 1.必填字段校验 对于业务报文中的必填字段,可以在ERP中直接增加必填值校验,如果不填写,则无法保存/提交,确保所有必填字段都没有丢失;知行之桥EDI系统同时也可以增加必填字段校验...以上就是如何取消/撤回EDI报文以及如何尽可能避免发出错误数据的方法,有任何疑问欢迎随时交流。

    1.1K50

    如何设计订单超时自动取消

    我们在美团 APP 下单,假如没有立即支付,进入订单详情会显示倒计时,如果超过支付时间,订单就会被自动取消。 网上有很多八股文,很多方案其实并不太适合真实的业务场景。...所以这篇文章,笔者想深入剖析如何设计订单超时自动取消的功能,希望能带给大家一些启发。 1 定时任务方案 首先,我们非常自然的想到定时任务的方案。...消息队列在消息到达支付过期时间时,将消息投递给消费者,消费者收到消息之后,判断订单状态是否为已支付,假如未支付,则执行取消订单的逻辑。...假如少量消息丢失,我们可以通过每天凌晨跑一次任务,批量将这些未处理的订单批量取消。这种兜底行为工程实现简单,同时对系统影响很小。 还有一点,就是配置监控。...6 总结 这篇文章,笔者总结了订单超时自动取消方案的两种流派:定时任务和延迟消息。 1、定时任务 定时任务实现策略,我们可以简单划分为单机版和集群版。

    39510

    如何优雅的取消协程 ?

    相反,我们可以依赖于取消整个协程作用域来取消所有通过其创建的子协程。...详见下面的 处理协程取消带来的副作用 章节。 实际上,子 Job 通过异常机制来通知父亲它的取消。父亲通过取消的原因来决定是否处理异常。...代码需要配合完成协程的取消! 让你的协程工作可以被取消 你需要确保创建的所有协程都是可以配合实现取消的,因此你需要定期或者在执行耗时任务之前检查协程状态。...如果你使用自己定义的协程作用域,请绑定 Job 并在适当的时候取消它。 协程的取消需要代码配合实现,所以确保你在代码中检测了取消,以避免额外的无用工作。 但是,在某些工作模式下,任务不应该被取消?...那么,应该如何实现呢,请等待该系列第四篇文章。

    1.4K30

    如何重置Mac电脑到出厂状态

    当我们的爱机完成了它的使命需要卖给二手平台,或者你只是单纯地想把整个电脑恢复为出厂状态(虽然完全没这个必要),那么就需要使用macOS的内置工具来实现这个过程,本文就介绍一下如何重置mac电脑系统。...重置前的准备工作 1.在启动macOS恢复之前,你需要确认几件事情。首先,确保你有一个可用的互联网连接。重新安装系统时需要下载最新版本的macOS。...3.关闭FileVault加密,FileVault加密有助于防止他人访问您的文件,但是您需要关闭它来重置Mac。 为此,请打开“系统偏好设置”,然后单击顶行中的“安全与隐私”。...image.png 4.如果你要出售你的Mac,或者把它送给朋友,还有需要额外做一些事情: 取消iTunes授权:打开iTunes,然后在菜单栏中打开“帐户”菜单。...转到“授权”子菜单,然后单击“取消对此计算机的授权”。 ? image.png 注销并禁用iCloud :再次打开系统偏好设置,但这次点击iCloud图标,然后点击左下角的注销。

    5.4K20
    领券