iPhone手势监控 代码

// add gesture recognizers to the image view

    UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer allocinitWithTarget:self action:@selector(handleSingleTap:)];

    UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer allocinitWithTarget:self action:@selector(handleDoubleTap:)];

    UITapGestureRecognizer *twoFingerTap = [[UITapGestureRecognizer allocinitWithTarget:self action:@selector(handleTwoFingerTap:)];

    

    [doubleTap setNumberOfTapsRequired:2];

    [twoFingerTap setNumberOfTouchesRequired:2];

    

    [imageView addGestureRecognizer:singleTap];

    [imageView addGestureRecognizer:doubleTap];

    [imageView addGestureRecognizer:twoFingerTap];

    

    [singleTap release];

    [doubleTap release];

    [twoFingerTap release];

 

#pragma mark TapDetectingImageViewDelegate methods


- (void)handleSingleTap:(UIGestureRecognizer *)gestureRecognizer {

    // single tap does nothing for now

  1. NSLog(@"Swipe received.");   
  2.      if (recognizer.direction==UISwipeGestureRecognizerDirectionDown) {   
  3.                 NSLog(@"swipe down");  
  4.     //执行程序  
  5. }  
  6. if (recognizer.direction==UISwipeGestureRecognizerDirectionUp) {   
  7.     NSLog(@"swipe up");  
  8.     //执行程序  
  9. }  
  10. if (recognizer.direction==UISwipeGestureRecognizerDirectionLeft) {   
  11.     NSLog(@"swipe left");  
  12.     //执行程序  
  13. }  
  14. if (recognizer.direction==UISwipeGestureRecognizerDirectionRight) {   
  15.     NSLog(@"swipe right");  
  16.     //执行程序  

}


- (void)handleDoubleTap:(UIGestureRecognizer *)gestureRecognizer {

    // double tap zooms in

    float newScale = [imageScrollView zoomScale] * ZOOM_STEP;

    CGRect zoomRect = [self zoomRectForScale:newScale withCenter:[gestureRecognizer locationInView:gestureRecognizer.view]];

    [imageScrollView zoomToRect:zoomRect animated:YES];

}


- (void)handleTwoFingerTap:(UIGestureRecognizer *)gestureRecognizer {

    // two-finger tap zooms out

    float newScale = [imageScrollView zoomScale] / ZOOM_STEP;

    CGRect zoomRect = [self zoomRectForScale:newScale withCenter:[gestureRecognizer locationInView:gestureRecognizer.view]];

    [imageScrollView zoomToRect:zoomRect animated:YES];

} 


UIGestureRecognizer的衍生类別有以下几种:

  • UITapGestureRecognizer     点一下
  • UIPinchGestureRecognizer   二指往内或往外拨动
  • UIRotationGestureRecognizer  旋转
  • UISwipeGestureRecognizer     滑动,快速移动
  • UIPanGestureRecognizer       拖移,慢速移动
  • UILongPressGestureRecognizer  长按





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值