我有一个 View ,并将 UIPanGestureRecogniser 应用于此 View :

UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAnim:)];
[sliderView addGestureRecognizer:panGesture];
[panGesture release];

我可以很好地检测和处理手势。但是,我希望在手势结束后启动另一种方法。

我知道有两种方法可以进行这种检测。 touchesEndedtouchesCancelled 但是,我发现 touchesCancelled 会在触摸变成手势后立即被调用,即我移动手指足以保证手势调用,并且 0x2513.431231 很少被调用

我希望能够向左/向右平移,然后在手势结束时启动另一个函数调用。我该怎么做呢?

最佳答案

平移手势结束事件可以通过使用 UIGestureRecognizerStateEnded 检查其状态来检测。
检查下面的代码。

-(void) panAnim:(UIPanGestureRecognizer*) gestureRecognizer
{
   if(gestureRecognizer.state == UIGestureRecognizerStateEnded)
   {
      //All fingers are lifted.
   }
}
来自苹果文档

Read more about UIPanGestureRecognizer

关于objective-c - 检测平移手势结束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6467638/

10-14 21:01