0
我目前有几个可拖拽的图层链接到UILabels。我有一个LongPressRecognizer在标签上长按,然后移动标签被拖动的图层。如何在iPad上同时允许多个长按手势?
我已经通过捕捉在识别的目标姿势像这样实现的:
- (void)handleDragging:(UILongPressGestureRecognizer *)gestureRecognizer
{
switch ([gestureRecognizer state])
{
case UIGestureRecognizerStateBegan:
[self startDragging:gestureRecognizer];
break;
case UIGestureRecognizerStateChanged:
[self doDrag:gestureRecognizer];
break;
case UIGestureRecognizerStateEnded:
case UIGestureRecognizerStateCancelled:
case UIGestureRecognizerStateFailed:
[self stopDragging:gestureRecognizer];
break;
default:
break;
}
}
不过,我想使用户,而他们正在拖动一个标签,必须执行能力另一个长按另一个标签可同时拖动多个标签。由于识别器当前接受1次触摸(numberOfTouchesRequired = 1),它似乎无法拾取其他事件。但是,每次在iPad上发生另一个触摸事件时,都会触发gestureRecognizerStateChanged事件。然而,识别器上的numberOfTouches仍然显示一次触摸。
是给每个标签自己的LongPressRecognizer最佳的解决方案,或者是有什么更优雅我可以用一个识别器吗?
这似乎并不为允许单个长按识别器来管理多个长按。 我想这就是我要问的。现在我以这种方式思考,我甚至不确定这是如何识别器应该如何工作?他们一次只是一个手势的处理者吗? – JKomusin 2011-12-23 22:20:03