0

UIViewがあり、ビューにUILongGestureRecognizerUIPanGestureRecognizerの両方を追加しました。数秒間タップして押し続けると、LongPressのコールバックが認識されます。

コードは以下のとおりです

- (void)addPanGsetureForView:(UIView *)object
{    
    UIPanGestureRecognizer * panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGestureRecognised:)];
    [object addGestureRecognizer:panGesture];
    [panGesture release];
}

- (void)addLongPressGsetureForView:(UIView *)object
{
    UILongPressGestureRecognizer * longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(imageLongPressed:)];
    [longPress setMinimumPressDuration:1.0];
    [object addGestureRecognizer:longPress];
    [longPress release];
}

だから私はパンジェスチャを使用してビューを移動したいと思います。したがって、ビュー上で指を離さずに長押しが認識されたときに、パンジェスチャが認識されるようにします。指を離してもう一度タップしてパンすると、認識されます。
だから私にこの問題を助けてください
前もって感謝します

4

1 に答える 1

4

Gesture Recognizersに関する Apple のドキュメントから引用

同時ジェスチャー認識の許可

デフォルトでは、2 つのジェスチャ レコグナイザが同時にジェスチャを認識しようとすることはできません。ただし、プロトコルgestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:のオプション メソッドであるを実装することで、この動作を変更できます。UIGestureRecognizerDelegateこのメソッドは、受信ジェスチャ レコグナイザの認識が指定されたジェスチャ レコグナイザの動作をブロックする場合、またはその逆の場合に呼び出されます。両方のジェスチャ レコグナイザが同時にジェスチャを認識できるようにするには、YES を返します。

これをテストしたところ、問題が解決すると思います。

于 2012-08-20T07:42:05.490 に答える