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