iOS之单、双击事件
来源:互联网 发布:sql 执行视图 编辑:程序博客网 时间:2024/04/30 05:40
提供一下三种方法参考:
方法一:
//单击事件 -(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]; }
0 0
- iOS之单、双击事件
- iOS 屏蔽双击事件
- ExtJSgrid事件双击-单选
- GridView注册单双击事件
- Qt 区分单双击事件
- cocos2d-x单双击事件
- Qt 区分单双击事件
- 判断鼠标单双击事件
- [iOS开发必备技巧之]禁用UITabBarController双击事件
- java 获取鼠标单双击事件
- JS同时绑定单双击事件
- kendo.ui.Grid绑定单双击事件
- jquery避免单双击事件冲突写法
- JS判断鼠标单双击事件
- [IOS]实现IOS单击或者双击事件
- [IOS]实现IOS单击或者双击事件
- ios中单双击手势代码
- iOS开发知识要点(双击事件。。。)
- 正则表达式与贪婪规则
- 基于GDI+开发的自定义绘图控件WillGraph介绍
- 新裁剪的interl i3操作系统 为什么U盘识别了,却挂接不上??
- Unix C (四)
- ProtocolBuffer之Windows配置&C++实例
- iOS之单、双击事件
- 单源最短路径
- posix 信号量---生产者消费者(二)
- java运行环境变量
- ajax参数用法
- C语言基于GTK+Libvlc实现的简易视频播放器
- 电话拨号盘(带触摸振动反馈)
- VoltDB本地调试指南
- 导入GitHub上已经下载的项目