[IOS]实现IOS单击或者双击事件
提供一下三种方法参考:
方法一:
//单击事件 -(void)fun1 { NSLog(@"click1"); } //双击事件 -(void)fun2 { NSLog(@"click2"); } //单击和双击方法之一 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { if ([[touches anyObject] tapCount] == 1) { [self performSelector:@selector(fun1) withObject:nil afterDelay:1]; } else if ([[touches anyObject] tapCount] ==2) { [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(fun1) object:nil]; [self performSelector:@selector(fun2) withObject:nil afterDelay:1]; } }
方法二:[线程]
int num = 0; -(void)fun1 { [NSThread sleepForTimeInterval:1]; if(num == 1) { NSLog(@"click 1"); } } -(void)fun2 { [NSThread sleepForTimeInterval:1]; if(num == 2) { NSLog(@"click 2"); } } -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { if([[touches anyObject] tapCount] == 1) { num = 1; NSThread * thread = [[NSThread alloc] initWithTarget:self selector:@selector(fun1) object:nil]; [thread start]; } else if([[touches anyObject] tapCount] == 2) { num = 2; NSThread * thread = [[NSThread alloc] initWithTarget:self selector:@selector(fun2) object:nil]; [thread start]; } }
方法三:[利用手势控件本身自带的方法]
原理:执行第二个方法的时候,取消第一次的方法操作
- (void)viewDidLoad { [super viewDidLoad]; //点击事件 UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(fun1)]; //单点触摸 tap.numberOfTouchesRequired = 1; //点击几次,如果是1就是单击 tap.numberOfTapsRequired = 1; [self.view addGestureRecognizer:tap]; UITapGestureRecognizer *tap2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(fun2)]; tap2.numberOfTapsRequired = 2; [self.view addGestureRecognizer:tap2]; //如果满足第二次 第一次的就取消 [tap requireGestureRecognizerToFail:tap2]; }
==================== 迂者 丁小未 CSDN博客专栏=================
MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243
Unity QQ群:858550 cocos2dx QQ群:280818155
====================== 相互学习,共同进步 ===================
转载请注明出处:http://blog.csdn.net/dingxiaowei2013/article/details/10450627
欢迎关注我的微博:http://weibo.com/u/2590571922
本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366412,如需转载请自行联系原作者
[IOS]实现IOS单击或者双击事件相关推荐
- ASPxGridView1单击,双击事件
ASPxGridView1没有自带的单击,双击事件,所以要自己写,<script language="javascript" type="text/javascri ...
- 禁用CMFCRibbonApplicationButton的单击和双击事件
为了禁用CMFCRibbonApplicationButton的单击和双击事件,我重载了CMFCRibbonApplicationButton如下: 1. MyRibbonApplicationBut ...
- JS - 解决鼠标单击、双击事件冲突问题(原生js实现)
由于鼠标双击时每一次触发双击事件都会引起两次单击事件和一次双击事件,原生的js不提供专门的双击事件. 因为业务原因,双击和单机都绑定了不同的业务,在双击的时候又触发了单机,影响了页面的正常显示 出现问 ...
- javascript 鼠标单击和双击事件并存的实现方法
http://www.jbxue.com/article/8033.html 本文介绍下实现javascript鼠标单击与双击事件并存的方法,经常需要为一个链接注册双击事件,或让一个按钮或者其他元素上 ...
- js中单击和双击事件的区分
js中单击和双击事件的区分 1. 首先要了解鼠标点击(单击或双击)时包含的事件. mousedown 事件: 当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件.与 cl ...
- GridView/DataGrid行单击和双击事件实现代码_.Net教程
功能: 单击选中行,双击打开详细页面 说明:单击事件(onclick)使用了 setTimeout 延迟,根据实际需要修改延迟时间 ;当双击时,通过全局变量 dbl_click 来取消单击事件的响应 ...
- js(javascript) onclick与ondblclick 单击与双击事件
js 单击时间为:onclick 双击事件为:ondblclick 如下是一个演示,想必很清楚,复制代码运行一下就懂了: <meta http-equiv="Content-Type& ...
- 【JavaScript】jQuery 实现耦合的鼠标单击与双击事件
jq 实现单击双击事件 jq 的 dblclick 和 click 互相独立,在触发 dblclick 的基础上也会触发两次 click 这里演示一种使其互相耦合的 demo var click = ...
- js区分click事件和mousedown、单击和双击事件
一.点击和拖动 1.问题 对于同一个对象进行的操作涉及点击(click)和拖动(mousedown,mousemove,mouseup),而拖动中又会触发一次点击事件 2.解决:设置全局变量判断点击之 ...
最新文章
- setstate是同步还是异步_【vert.x准备篇1】同步和异步,阻塞和非阻塞概念澄清
- python数据分析numpy_利用python进行数据分析-NumPy高级应用
- 习题元祖与字典的值交换
- 小波的秘密10_图像处理应用:图像增强
- c语言中malloc、realloc与calloc 的区别以及联系
- iptables nat实验_【零基础学云计算】LVS负载均衡群集之NAT模式搭建 (实践篇)...
- fabric shim安装合约_hyperledger fabric 开发第一个智能合约
- MFC制作员工信息管理系统
- Python设置默认语言编码
- 提取点位属性文本_手把手教你如何用Python爬取网站文本信息
- python科学计算的几个例子
- javaswing个人记账系统 java swing mysql实现的个人记账系统源码(1012)
- git小乌龟版本回退
- 电脑的热点手机连接不上怎么办
- 黑盒测试和白盒测试详解
- 使用组策略批量禁用u盘
- arc120C - Swaps 2
- 首涂[A020]第二十套模板最终版 苹果CMS V10
- CCPC-2017 杭州站B丨HDU - 6265丨数论丨积性函数 丨欧拉函数丨狄利克雷卷积丨思维变换
- 华为硬件工程师社招机考题库_华为硬件工程师笔试、面试题