iOS开发中的几个手势操作实例分享

2020-01-14 15:51:57于丽

    }  
    return self;  
}  
-(void)handleSingleTap:(UIGestureRecognizer *)sender{  
    CGPoint touchPoint = [sender locationInView:self];  
    //...  
}  
-(void)handleDoubleTap:(UIGestureRecognizer *)sender{  
    CGPoint touchPoint = [sender locationInView:self];  
    //...  

 

唯一需要注意的是

复制代码

 

[singleTapGesture requireGestureRecognizerToFail:doubleTapGesture]; 


这句话的意思时,只有当doubleTapGesture识别失败的时候(即识别出这不是双击操作),singleTapGesture才能开始识别,同我们一开始讲的是同一个问题。

 


UIGestureRecognizer小应用
1、轻拍手势:双指、单击,修改imageView的frame为(0,0,320,200)
2、长按手指:单指,修改imageView的alpha=0.5
3、实现平移、旋转、捏合
4、轻扫:竖向轻扫实现图:像随机切换显示;横向轻扫实现:图像消失,随机修改imageview的背景颜色
5、imageview每次只能添加一种手势识别器。

 

复制代码
#define _originalRect CGRectMake(10, 50, 300, 450)  
#define _originalImageName  @"h4.jpeg"  
  
#import "HMTRootViewController.h"  
  
@interface HMTRootViewController (){  
  
    UITapGestureRecognizer       * _tapGesture;  
    UILongPressGestureRecognizer * _longGesture;  
    UIPanGestureRecognizer       * _panGesture;  
    UIRotationGestureRecognizer  * _rotateGesture;  
    UIPinchGestureRecognizer     * _pinchGesture;  
    UISwipeGestureRecognizer     * _verticalSwipeGesture;  
    UISwipeGestureRecognizer     * _horizontanlSwipeGesture;  
    BOOL isTopDownOfRightLeft;    // 垂直滑动是YES,水平滑动是NO  
      
}  
  
@property (nonatomic,retain) UIButton * button;