[转载]iOS防止单击、双击手势冲突(OC)
来源:互联网 发布:js input 隐藏光标 编辑:程序博客网 时间:2024/05/20 23:56
原文链接:http://blog.csdn.net/likendsl/article/details/7554150 ios的手势操作之UIGestureRecognizer浅析
手势识别是具有互斥的原则的,比如单击和双击,如果它识别出一种手势,其后的手势将不被识别。所以对于关联手势,要做特殊处理以帮助程序甄别,应该把当前手势归结到哪一类手势里面。
比如,单击和双击并存时,如果不做处理,它就只能发送出单击的消息。为了能够识别出双击手势,就需要做一个特殊处理逻辑,即先判断手势是否是双击,在双击失效的情况下作为单击手势处理。使用
[A requireGestureRecognizerToFail:B]函数,它可以指定当A手势发生时,即便A已经滿足条件了,也不会立刻触发,会等到指定的手势B确定失败之后才触发。
- (void)viewDidLoad { // 单击的 Recognizer UITapGestureRecognizer* singleRecognizer; singleRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:selfaction:@selector(SingleTap:)]; //点击的次数 singleTapRecognizer.numberOfTapsRequired = 1; // 单击 //给self.view添加一个手势监测; [self.view addGestureRecognizer:singleRecognizer]; // 双击的 Recognizer UITapGestureRecognizer* doubleRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:selfaction:@selector(DoubleTap:)]; doubleRecognizer.numberOfTapsRequired = 2; // 双击 //关键语句,给self.view添加一个手势监测; [self.view addGestureRecognizer:doubleRecognizer]; // 关键在这一行,双击手势确定监测失败才会触发单击手势的相应操作 [singleRecognizer requireGestureRecognizerToFail:doubleRecognizer]; [singleRecognizer release]; [doubleRecognizer release]; } -(void)SingleTap:(UITapGestureRecognizer*)recognizer { //处理单击操作 } -(void)DoubleTap:(UITapGestureRecognizer*)recognizer { //处理双击操作 }
在上面的方法中单击手势只有在确定双击手势不会发生的时候,才会触发单击手势,所以单击操作的响应会稍显迟钝。
0 0
- [转载]iOS防止单击、双击手势冲突(OC)
- iOS 单击手势和双击手势冲突问题
- iOS 关于UITapGestureRecognizer 单击与双击手势冲突的解决
- ios 单击和双击手势
- ios中模拟手势单击或是双击
- iOS开发(OC)——单击手势与tableView的点击冲突
- Objective-C同时添加单击和双击手势冲突
- iOS 单击手势和双击手势共存问题
- UIVIew单击、双击手势
- iOS 解决单击手势与UItableviewCell表格手势冲突
- 单击 双击冲突解决
- ios开发-单击和双击手势的区分处理
- ios开发-单击和双击手势的区分处理
- IOS学习 触摸和手势UITouch 单击双击、移动视图
- iOS 同一个View识别单击和双击手势
- ios手势怎样实现同时可以单击和双击
- iOS添加单击手势与tableview点击的冲突问题
- IOS学习 触摸和手势 手势识别器:单击、双击、轻扫、滑动、长按、旋转
- 第9周项目4-我的向量类
- C++ mkdir 创建多级文件夹目录
- 第十一周上机实践项目2——职员有薪水了(1)
- Android xml布局文件报错Incorrect line ending: found carriage return (\r) without corresponding newline (\n
- 第9周项目5-一元一次方程类
- [转载]iOS防止单击、双击手势冲突(OC)
- Java面向对象之继承
- js实现拖拽框
- test
- C#线程,委托的方法带参数
- fop生成pdf的中文乱码问题
- 首次登录 指导页面
- rocketmq涉及到的系统参数(min_free_kbytes )
- sublime2使用过程中遇到的一些问题总结