代码说明:手势的常用状态如下
  开始:UIGestureRecognizerStateBegan
  改变:UIGestureRecognizerStateChanged
  结束:UIGestureRecognizerStateEnded
  取消:UIGestureRecognizerStateCancelled
  失败:UIGestureRecognizerStateFailed
  3.轻扫手势(SwipeGestureRecognizer)
  在初始化轻扫手势的时候得指定轻扫的方向,上下左右。 如果要要添加多个轻扫方向,得添加多个轻扫手势,不过回调的是同一个方法。
  添加轻扫手势,一个向左一个向右,代码如下:
  1     //添加轻扫手势
  2     UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeGesture:)];
  3     //设置轻扫的方向
  4     swipeGesture.direction = UISwipeGestureRecognizerDirectionRight; //默认向右
  5     [self.view addGestureRecognizer:swipeGesture];
  6
  7     //添加轻扫手势
  8     UISwipeGestureRecognizer *swipeGestureLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeGesture:)];
  9     //设置轻扫的方向
  10     swipeGestureLeft.direction = UISwipeGestureRecognizerDirectionLeft; //默认向右
  11     [self.view addGestureRecognizer:swipeGestureLeft];
  回调方法如下:
1 //轻扫手势触发方法
2 -(void)swipeGesture:(id)sender
3 {
4     UISwipeGestureRecognizer *swipe = sender;
5     if (swipe.direction == UISwipeGestureRecognizerDirectionLeft)
6     {
7         //向左轻扫做的事情
8     }
9     if (swipe.direction == UISwipeGestureRecognizerDirectionRight)
10     {
11         //向右轻扫做的事情
12     }
13 }
14
  4.捏合手势(PinchGestureRecognizer)
  捏合手势初始化
  1     //添加捏合手势
  2     UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchGesture:)];
  3     [self.view addGestureRecognizer:pinchGesture];
  捏合手势要触发的方法(放大或者缩小图片):
1 ////捏合手势触发方法
2 -(void) pinchGesture:(id)sender
3 {
4      UIPinchGestureRecognizer *gesture = sender;
5
6     //手势改变时
7     if (gesture.state == UIGestureRecognizerStateChanged)
8     {
9         //捏合手势中scale属性记录的缩放比例
10         _imageView.transform = CGAffineTransformMakeScale(gesture.scale, gesture.scale);
11     }
12
13     //结束后恢复
14     if(gesture.state==UIGestureRecognizerStateEnded)
15     {
16         [UIView animateWithDuration:0.5 animations:^{
17             _imageView.transform = CGAffineTransformIdentity;//取消一切形变
18         }];
19     }
20 }
  5.拖动手势(PanGestureRecognizer)
  拖动手势的初始化
  1     //添加拖动手势
  2     UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGesture:)];
  3     [self.view addGestureRecognizer:panGesture];
  拖动手势要做的方法(通过translationInView获取移动的点,和TouchesMoved方法类似)
  1 //拖动手势
  2 -(void) panGesture:(id)sender
  3 {
  4     UIPanGestureRecognizer *panGesture = sender;
  5
  6     CGPoint movePoint = [panGesture translationInView:self.view];
  7
  8     //做你想做的事儿
  9 }