22

スワイプジェスチャの方向を検出する必要がありますが、問題があります。ジェスチャーは機能していますが、方向を検出する方法がわかりません。...

swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(detectSwipe:)];
[swipeGesture setNumberOfTouchesRequired:1];
[swipeGesture setDirection:UISwipeGestureRecognizerDirectionDown | UISwipeGestureRecognizerDirectionUp];
[appView addGestureRecognizer:swipeGesture];

-(void)detectSwipe:(UISwipeGestureRecognizer *)recognizer { 
switch (recognizer.direction) {
    case UISwipeGestureRecognizerDirectionUp:
        NSLog(@"smth1");
        break;


    case UISwipeGestureRecognizerDirectionDown:
        NSLog(@"smth2");
    default:
        break;
}
}

動いていない :/

4

4 に答える 4

20

directionプロパティは、特定のスワイプの実際の方向ではなく、スワイプとして認識される許可された方向のみを定義ます

最も簡単なのは、代わりに 2 つの個別のジェスチャ認識機能を使用することです。locationInView:ジェスチャの開始時とメソッドでの終了時にタッチの位置を調べることもできます。

于 2012-01-11T01:55:49.127 に答える