日期:2014-05-17  浏览次数:20609 次

Gesture手势 转自http://blog.sina.com.cn/s/blog_8a6c97b5010106zq.html

tap是指轻触手势。类似鼠标操作的点击。从iOS 3.2版本开始支持完善的手势api:

  • tap:轻触
  • long press:在一点上长按
  • pinch:两个指头捏或者放的操作
  • pan:手指的拖动
  • swipe:手指在屏幕上很快的滑动
  • rotation:手指反向操作

这为开发者编写手势识别操作,提供了很大的方便,想想之前用android写手势滑动的代码(编写android简单的手势切换视图示例 ),尤其感到幸福。

这里写一个简单的tap操作。在下面视图的蓝色视图内增加对tap的识别:

image

?

当用手指tap蓝色视图的时候,打印日志输出:

image

代码很简单,首先要声明tap的recognizer:

UITapGestureRecognizer *recognizer=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapFrom:)];?
[infoView addGestureRecognizer:recognizer];?
[recognizer release];

在这里:

  • initWithTarget:self,要引用到Controller,因为一般这部分代码写在controller中,用self;
  • action:@selector(handleTapFrom:),赋值一个方法名,用于当手势事件发生后的回调;
  • [infoView addGestureRecognizer:recognizer],为view注册这个手势识别对象,这样当手指在该视图区域内,可引发手势,之外则不会引发

对应的回调方法:

-(void)handleTapFrom:(UITapGestureRecognizer *)recognizer{?