像这样创建手势识别器,并将其添加到您想要的视图中:
UISwipeGestureRecognizer *rightSwipeGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipe:)];
[rightSwipeGestureRecognizer setDirection:UISwipeGestureRecognizerDirectionRight];
[self.view addGestureRecognizer:rightSwipeGestureRecognizer];
定义一个方法来处理滑动:
-(void)rightSwipe:(UISwipeGestureRecognizer*)recognizer {
NSLog(@"Right swipe");
}
如果它仍然不起作用,请尝试不将识别器添加到视图中,并查看是否有另一个识别器处于活动状态..
编辑(看到你的代码后):
您在 scrollViewDidScroll 方法中有您的逻辑,这就是它对任何类型的滑动(实际上是滚动)做出反应的原因。我怀疑您的手势识别器甚至可以在这种类型的设置中使用。
手势识别器需要添加到视图中,然后您需要连接一个在识别手势时将运行的方法。请记住,如果将手势识别器的方向设置为向右,则该方法仅应在向右滑动后调用。我会再次复习这门课,以充分了解它是如何工作的。UIGestureRecognizer 类参考
由于您使用的是 UIScrollView,因此识别滑动有点棘手,因为它有自己的识别器。看看如何识别 UIScrollView 中的滑动手势
我还建议保持简单,并以编程方式添加 UISwipeGestureRecognizer(很可能您甚至不需要为其声明实例变量,因为该对象将返回到识别器上的 @selector 函数。