IOS手势监听只能监听到第一次。

  • (void)initSwipeGesture{

    //左滑
    self.left=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipes:)];
    self.left.direction=UISwipeGestureRecognizerDirectionLeft;
    [self.view addGestureRecognizer:self.left];
    
    //右滑
    self.right=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handleSwipes:)];
    self.right.direction=UISwipeGestureRecognizerDirectionRight;
    [self.view addGestureRecognizer:self.right];

    }

pragma mark - Action Methods

  • (void)handleSwipes:(UISwipeGestureRecognizer *)sender{
    if (sender.direction == UISwipeGestureRecognizerDirectionLeft){

       self.imageView.hidden = YES;
       self.scrollView.hidden = NO;
       [self.timer invalidate];
       self.num --;
       _page --;
       [self changePoint];
       [self.playBtn setImage:[UIImage imageNamed:@"play"] forState:UIControlStateNormal];
       DMLog(@"left");

    }
    if (sender.direction == UISwipeGestureRecognizerDirectionRight) {

       self.imageView.hidden = YES;
       self.scrollView.hidden = NO;
       [self.timer invalidate];
       self.num ++;
       _page ++;
       [self changePoint];
       [self.playBtn setImage:[UIImage imageNamed:@"play"] forState:UIControlStateNormal];
       DMLog(@"right");

    }
    }

怎么让他一直监听执行下面handleSwipes的方法

阅读 3.5k
1 个回答

手势本身添加了之后会一直监听,除非你移除掉手势。而没有调用识别的手势处理方法,可能因为手势冲突或者其他原因。你可以设置一下手势识别的delegate,实现代理方法,查看一下手势识别状态。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题