2

私のアプリには、次のコードがあります。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)recognizer shouldReceiveTouch:(UITouch *)touch
{

    if ([touch.view isKindOfClass:[UIScrollView class]]){
        return YES;
    }

    else return NO;
}

これで、タッチがscrollView内にあるかどうかを制御しますが、タッチが単純なタッチなのかスワイプジェスチャなのかを確認したいのですが、それを検出する方法はありますか? ありがとう

4

3 に答える 3

8

上で書いたメソッドが UIGestureRecognizerDelegate です。これは、オブザーバーを配置した特定のジェスチャが検出されたときに呼び出されるデリゲート メソッドです。

スワイプ ジェスチャを識別するには、次のように検出するビューにジェスチャ レコグナイザーを追加する必要があります。

UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];

メソッドhandleSwipeFormでジェスチャ検出を取得できます。

上記のデリゲートを呼び出して取得する場合は、次の行も追加します。

recognizer.delegate = self;
于 2013-01-24T10:09:24.723 に答える
0

スワイプジェスチャを検出するために使用UISwipeGestureRecognizerします (スワイプ方向を設定できます: UISwipeGestureRecognizer.direction)

そして aUITapGestureRecognizerはタップを検出します (UITapGestureRecognizer.numberOfTapsRequired認識機能をトリガーするために必要なタップ数を設定します (例: ダブルタップの場合)

于 2013-01-24T10:03:00.910 に答える