3

只是想知道您是否有任何提示来识别首先是拖动(平移)手势,然后如果用户继续握住手指,另一个“按住”事件?

所以我想要的效果是常规平移事件会在移动完成时完成它的事情,如果用户握住手指,经过短暂的延迟,另一个事件会发生。此事件应继续触发,直到手指被抬起。希望这是有道理的。

我尝试结合UIPanGestureRecognizerUILongPressGestureRecognizer但长按事件更多的是关于点击、按住然后滑动。我想要反过来。我也尝试了一个常规的点击事件,但是直到取景器从屏幕上移除后才会触发?

谢谢

4

1 回答 1

2

您可能需要使用计时器或 dispatch_after 来模拟您的高级识别器。

-(void)panGesture:(UIPanGestureRecognizer *)gesture;
{

    if ([gesture state] == UIGestureRecognizerStateBegan || [gesture state] == UIGestureRecognizerStateChanged) {
        fireEvent = YES;
        //Alternatively, use display_after
        [self performSelector:@selector(fireAnotherEventIfNecessary) withObject:nil afterDelay:2];
    } else {
        fireEvent = NO;
    }
}

-(void)fireAnotherEventIfNecessary {

    if (fireEvent) {
        // Fire Event
    }
}
于 2012-11-07T02:39:38.130 回答