UITapGestureRecognizer 的用法
来源:互联网 发布:popo for mac 编辑:程序博客网 时间:2024/05/28 05:14
UITapGestureRecognizer 的用法
转载▼
//单指单击
2: UITapGestureRecognizer *singleFingerOne = [[UITapGestureRecognizer alloc] initWithTarget:self
3: action:@selector(handleSingleFingerEvent:)];
4: singleFingerOne.numberOfTouchesRequired = 1; //手指数
5: singleFingerOne.numberOfTapsRequired = 1; //tap次数
6: singleFingerOne.delegate = self;
7:
8: //单指双击
9: UITapGestureRecognizer *singleFingerTwo = [[UITapGestureRecognizer alloc] initWithTarget:self
10: action:@selector(handleSingleFingerEvent:)];
11: singleFingerTwo.numberOfTouchesRequired = 1;
12: singleFingerTwo.numberOfTapsRequired = 2;
13: singleFingerTwo.delegate = self;
14:
15: //双指单击
16: UITapGestureRecognizer *doubleFingerOne = [[UITapGestureRecognizer alloc] initWithTarget:self
17: action:@selector(handleDoubleFingerEvent:)];
18: doubleFingerOne.numberOfTouchesRequired = 2;
19: doubleFingerOne.numberOfTapsRequired = 1;
20: doubleFingerOne.delegate = self;
21:
22: UITapGestureRecognizer *doubleFingerTwo = [[UITapGestureRecognizer alloc] initWithTarget:self
23:action:@selector(handleDoubleFingerEvent:)];
24: doubleFingerTwo.numberOfTouchesRequired = 2;
25: doubleFingerTwo.numberOfTapsRequired = 2;
26: doubleFingerTwo.delegate = self;
27:
28: //如果不加下面的话,当单指双击时,会先调用单指单击中的处理,再调用单指双击中的处理
29: [singleFingerOne requireGestureRecognizerToFail:singleFingerTwo];
30: //同理双指亦是如此
31: [doubleFingerOne requireGestureRecognizerToFail:doubleFingerTwo];
32:
33: [self.view addGestureRecognizer:singleFingerOne];
34: [self.view addGestureRecognizer:singleFingerTwo];
35: [self.view addGestureRecognizer:doubleFingerOne];
36: [self.view addGestureRecognizer:doubleFingerTwo];
37:
38: [singleFingerOne release];
39: [singleFingerTwo release];
40: [doubleFingerOne release];
41: [doubleFingerTwo release];
处理事件的方法,代码:
1: //处理单指事件
2: - (void)handleSingleFingerEvent:(UITapGestureRecognizer *)sender
3: {
4: if (sender.numberOfTapsRequired == 1) {
5: //单指单击
6: NSLog(@"单指单击");
7: }else if(sender.numberOfTapsRequired == 2){
8: //单指双击
9: NSLog(@"单指双击");
10: }
11: }
12: //处理双指事件
13: - (void)handleDoubleFingerEvent:(UITapGestureRecognizer *)sender
14: {
15: if (sender.numberOfTapsRequired == 1) {
16: //双指单击
17: NSLog(@"双指单击");
18: }else if(sender.numberOfTapsRequired == 2){
19: //双指双击
20: NSLog(@"双指双击");
21: }
22: }
将相应代码复制到你的工程中即可使用,由于代码中已经有详细的解释说明,这里就不在重复解释了。
代码中只是列举了单指与双指对于单击或多击的处理,同理多指的操作需修改numberOfTouchesRequired属性,对点击的次数需修改numberOfTapsRequired属性。
对于其他手势例如UISwipeGestureRecognizer
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer的用法
- UITapGestureRecognizer 的用法
- UITapGestureRecognizer 的用法
- Java中的堆(heap)和堆栈(stack)
- ffmpeg教程六——源码分析之数据结构
- 谈谈QA聊聊人生
- chrome开发资料收集(转)
- 广告作弊判断
- UITapGestureRecognizer 的用法
- CDN内容分发网络
- windows和linux下的文件路径表示小结
- Android MultiThread & Handler & AsyncTask
- 关于update set from
- BuildManager.CreateInstanceFromVirtualPath调用aspx 页面嵌入方法
- C++多进程并发框架
- javascript中未初始化的变量和未定义的变量的区别
- 连接池的作用