`
lizhuang
  • 浏览: 904132 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UITapGesture的单击和长按的手势同时识别区分

 
阅读更多
My solution was to not implement collectionView:didSelectItemAtIndexPath but to implement two gesture recognizers.

    self.doubleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(processDoubleTap:)];
    [_doubleTapGesture setNumberOfTapsRequired:2];
    [_doubleTapGesture setNumberOfTouchesRequired:1];   

    [self.view addGestureRecognizer:_doubleTapGesture];

    self.singleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(processSingleTap:)];
    [_singleTapGesture setNumberOfTapsRequired:1];
    [_singleTapGesture setNumberOfTouchesRequired:1];
    [_singleTapGesture requireGestureRecognizerToFail:_doubleTapGesture];

    [self.view addGestureRecognizer:_singleTapGesture];

This way I can handle single and double taps. The only gotcha I can see is that the cell is selected on doubleTaps but if this bothers you can you handle it in your two selectors.

The following line needs to be added:

doubleTapFolderGesture.delaysTouchesBegan = YES;

which eliminates interference with the single tap for cell selection. This provides a much more robust setup.

项目任务,要求同时实现点击和长按事件。

单击的效果可能更好,但是由于使用了第三方控件,不能实现单击
分享到:
评论

相关推荐

    嵌入式STM32按键状态机-单击双击长按操作

    问题来了,单片机是如何区分按键的短按和长按的呢? 本程序使用定时器,运用状态机的思想,实现了单按键的单击长按操作。 代码简洁规范,可读性强,移植性强。 实验器材: 自制开发板,STM32F03C8T6平台 实验目的:...

    状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30.zip

    同时,为了区分单击和双击,可以设置一个计数器来记录连续按下次数,当达到两次时,再检查时间间隔是否满足双击条件。 在实际编程过程中,我们需要编写状态机的主循环函数,该函数负责更新状态并处理相应的事件。...

    基于51单片机的按键识别(单击,长按,双击)原理图、流程图、物料清单、仿真图、源代码

    基于51单片机的按键识别(单击,长按,双击)原理图、流程图、物料清单、仿真图、源代码 基于51单片机的按键识别(单击,长按,双击) 单片机按键模式识别 1、单片机识别按键的3个状态:单击、双击、长按识别 2、...

    STC8单片机的按键单击、双击、长按的代码实现

    4. **单击、双击和长按识别**: - **单击**:在一段时间内(比如50ms),检测到按键由低到高或由高到低的转换,就可以认为是一次单击。 - **双击**:在更短的时间间隔(如300ms)内,连续两次单击被视为双击。这...

    使用OnTouch实现一个控件同时设置单击、双击、长按事件demo

    在这个案例中,我们将探讨如何利用`OnTouchListener`来同时处理一个控件的单击、双击和长按事件。以下是一个详细的实现步骤和知识点解析: ### 一、OnTouchListener概述 `OnTouchListener`是Android中的一个接口,...

    STM32按键(单击、双击、长按)

    STM32中的按键处理主要包括单击、双击和长按三种模式,每种模式都有其特定的实现原理和应用场景。 ### 1. 概述 STM32的按键输入通常通过GPIO(General-Purpose Input/Output)端口来检测。当用户按下按键时,对应...

    Iphone干掉UITextField的长按、双击等行为时的复制粘贴框

    ### UITextField与手势识别器 ...同时,通过深入了解UITextField默认包含的手势识别器,开发者可以更好地掌握UITextField的行为特性,并根据实际需求对其进行定制。这对于提升应用的用户体验有着重要意义。

    Android ListView的单击和长按时,避免同时执行

    5. **优化事件处理**:为了提高用户体验,我们还可以考虑引入一个短延迟(如300毫秒)来区分单击和长按。这样,如果用户在短时间内松开手指,视为单击;如果超过这个时间仍未松手,则视为长按。这种做法在Android的`...

    1035-基于51单片机的按键识别(单击,长按,双击)原理图、流程图、物料清单、仿真图、源代码.zip

    1035-基于51单片机的按键识别(单击,长按,双击)原理图、流程图、物料清单、仿真图、源代码 功能介绍: 单片机按键模式识别 1、单片机识别按键的3个状态:单击、双击、长按识别 2、屏幕显示按键状态 原理:在0.5...

    按键实现单击、双击、长按 方便移植版本

    本文将详细介绍如何使用C语言在单片机环境下实现按键的单击、双击和长按功能,并探讨这种实现方式的可移植性。 首先,我们需要理解单片机中的按键基本原理。按键通常连接到单片机的I/O引脚,当按键未按下时,引脚...

    按键的单击双击三击和长按

    本文将深入探讨如何在单片机环境中实现按键的单击、双击、三击以及长按功能,同时会提及如何利用定时器来优化这些操作,使其更易于移植到不同平台。 首先,我们来看按键的基本原理。在硬件层面,按键通常连接到...

    cocos2d-x手势识别(单击、双击、各形状)

    在实现手势识别时,我们会在`Classes`中的某个类(可能是Scene或Layer)中添加以上代码,同时可能需要在`Resources`中存储相关的资源,如用于指示手势的图形元素。 总之,cocos2d-x提供了丰富的API来支持手势识别,...

    ALIENTEK MINISTM32 单击、双击、长按实验.7z

    分享一个正点原子mini板按键KEY0单击、双击、长按和串口实现灯的控制状态,按键KEY1中断,控制灯亮5秒后熄灭 本实验实现的功能mini板按键KEY0单击、双击、长按和串口实现灯的控制状态, 按键KEY1中断,控制灯亮5秒后...

    ListView:单击和长按弹出上下文菜单(ContextMenu)

    本篇文章将深入探讨如何在ListView中实现单击和长按事件,弹出上下文菜单(ContextMenu)。这通常用于提供针对列表项的快捷操作,提升用户体验。 首先,我们需要在清单文件(`AndroidManifest.xml`)中为我们的Activity...

    原创代码:单按键实现 单击、双击、多击、长按等功能,设计巧妙

    综上所述,该代码示例提供了一种实用的解决方案,将单一按键的功能最大化,同时考虑了实际应用中的常见问题,如抖动消除和不同操作的识别。这种设计思路对电子工程师和嵌入式开发者来说具有很高的学习价值。

    302.基于51单片机的按键识别【单击,长按,双击】(仿真).rar

    1、单片机识别按键的3个状态:单击、双击、长按识别 2、屏幕显示按键状态 原理:在0.5s内对按键次数进行计数,如果超过0.5s按键依旧没有松开,就判定为长按;否则就按按下次数进行判断单击和双击 资料包括程序、...

    Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍

    在Swift中,我们可以使用内置的手势识别类(UIGestureRecognizer)来实现各种用户交互操作,如点击、双击、捏合、旋转、拖动、滑动以及长按。以下是对这些手势的详细介绍和示例代码。 1. **UITapGestureRecognizer ...

    AndroidEditText限制及手势识别

    本篇将详细讲解如何实现这些限制,并探讨手势识别在Android中的应用。 一、EditText输入限制 1. 字符长度限制:可以使用`setMaxLength()`方法设置`EditText`能接受的最大字符数。例如,如果只允许输入10个字符,...

    单击事件,手势识别和响应链.zip

    通过深入研究这些内容,你可以了解到如何集成动作捕捉和手势识别到自己的应用中,以及如何优化响应链以提升用户体验。 总的来说,这个压缩包提供了一个全面的学习资源,涵盖了从基础理论到实际应用的多个层面,无论...

    按键单击+双击+长按.rar

    本资源“按键单击+双击+长按.rar”提供了一个经典的按键扫描程序,该程序支持单击、双击和长按三种操作模式,并且在实现双击时能避免误触发单击事件。这在单片机编程中非常实用,特别是对于那些需要通过简单按键进行...

Global site tag (gtag.js) - Google Analytics