iPhone SDKの同時ジェスチャー認識について質問する

iPhone SDKの同時ジェスチャー認識について質問する

UISwipeGestureRecognizer(例えば、UISwipeGestureRecognizerDirectionRightと)を使って2つの異なるスワイプジェスチャーをキャッチする必要がありますUISwipeGestureRecognizerDirectionLeftジェスチャー認識機能を追加方法は、最後に追加された認識機能のみが機能します。実装する必要があると読んだことがありますジェスチャー認識機能:ジェスチャー認識機能と同時に認識する必要があります:プロトコルの方法を試しUIGestureRecognizerDelegateましたが、何も機能しません。

2 つ以上の同じジェスチャをキャッチする簡単な例を教えてもらえますか? よろしくお願いします!

ベストアンサー1

本当に簡単でした:

まず、UIGestureRecognizerDelegateプロトコルを実装するクラスを作成する必要があります。

@interface MyGestureDelegate : NSObject <UIGestureRecognizerDelegate>

@implementation MyGestureDelegate

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{
    return YES;
}

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
    return YES;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
    return YES;
}

次のように使用します:


    UISwipeGestureRecognizer *swipeGestureLeft = [[UISwipeGestureRecognizer alloc]
                                              initWithTarget:self action:@selector(handleSwipeGestureLeft:)];
    [self.view addGestureRecognizer:swipeGestureLeft];
    swipeGestureLeft.direction = UISwipeGestureRecognizerDirectionLeft;
    [swipeGestureLeft release];

    UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc]
                                          initWithTarget:self action:@selector(handleSwipeGesture:)];
    swipeGesture.direction = UISwipeGestureRecognizerDirectionRight;
    [self.view addGestureRecognizer:swipeGesture];

    MyGestureDelegate *deleg = [[MyGestureDelegate alloc] init];

    [swipeGesture setDelegate:deleg];
    [swipeGesture release];

おすすめ記事