注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

实现手势识别(五)  

2013-05-09 22:19:49|  分类: ios开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

检测轻击(Tap)手势

你想检测捕获用户点击了屏幕的事件。

创建一个 UITapGestureRecognizer 类的实例对象,然后把他添加到我们的视图上面。下 面是 view controller 头文件相关定义

点击的手势是最常见的一个手势动作,当用户用手指接触屏幕,到离开屏幕,一个点击
动作就算完成了。

UITapGestureRecognizer 类的 locationInView 这个方法一般用来获取点击的位置,如果是 多个点击的手势动作,调用这个方法将会得到一组数据的点的位置,在我们上面的实例中, 我们给 numberOfTouches 这个属性值设置为 2,通过设置这个值,就表示,我们在点击的时 候是需要两个手指同时来完成动作的。同样 numberOfTapsRequired 这个值设置为 3,就表 示,我们需要连续的点击三次。我们提供了一个 handleTaps 方法,来处理手势发生之后需要 的处理动作 

代码如下:

#import <UIKit/UIKit.h>


@interface ViewController : UIViewController


@property (nonatomic,strong) UITapGestureRecognizer *tapGestureRecoginzer;


@end


---------------


#import "ViewController.h"


@interface ViewController ()


@end


@implementation ViewController


- (void) handleTaps: (UITapGestureRecognizer *) paramSender

{

    NSUInteger touchCounter = 0;

    for (touchCounter = 0 ; touchCounter < paramSender.numberOfTouchesRequired ; touchCounter ++)

    {

        CGPoint touchPoint = [paramSender locationOfTouch:touchCounter inView:paramSender.view];

        NSLog(@"Touch #%lu: %@",(unsigned long)touchCounter + 1,NSStringFromCGPoint(touchPoint));

    }

}


- (void)viewDidLoad

{

    [super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

    self.view.backgroundColor = [UIColor whiteColor];

    self.tapGestureRecoginzer = [[UITapGestureRecognizer alloc]

                                 initWithTarget:self

                                 action:@selector(handleTaps:)];

    self.tapGestureRecoginzer.numberOfTouchesRequired = 2;

    self.tapGestureRecoginzer.numberOfTapsRequired = 3;

    [self.view addGestureRecognizer:self.tapGestureRecoginzer];

}




- (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


@end


如果你是在使用模拟器测试的,那么你可以通过按住 Option 键来模拟出两 个手指出来,然后通过你的鼠标来进行一个点击的动作。

上端代码中有一个 NSStringFromCGPoint 的方法,这个方法其实就是把一个物理的位置 信息 CGPoint 转化成一个 NSString 类型的数据,这样我们就可以直接打印出来以便我们的 查看~

  评论这张
 
阅读(66)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017