1

ここでの簡単な質問:ユーザーがiPhoneの画面上で指をスワイプしたことをどのように検出できますか?

4

3 に答える 3

3

UIGestureRecognizerはあなたが望むものです。特にUISwipeGestureRecognizerサブクラス

于 2010-12-06T17:56:06.910 に答える
3

アプリケーションにジェスチャレコグナイザーを実装する必要があります。

インターフェース:

#define kMinimumGestureLength  30
#define kMaximumVariance   5
#import <UIKit/UIKit.h>
@interface *yourView* : UIViewController {
    CGPoint gestureStartPoint;
}
@end

kMinimumGestureLengthは、スワイプとしてカウントされる前に指が移動する最小距離です。kMaximumVarianceは、指がy軸の開始点より上で終了できる最大距離(ピクセル単位)です。

次に、インターフェイス.xibファイルを開き、IBでビューを選択し、Multiple Touchで有効になっていることを確認します。View Attributes.

実装では、これらのメソッドを実装します。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
        UITouch *touch = [touches anyObject];
        gestureStartPoint = [touch locationInView:self.view];
  }

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
    UITouch *touch = [touches anyObject];
    CGPoint currentPosition = [touch locationInView:self.view];    

    CGFloat deltaX = fabsf(gestureStartPoint.x - currentPosition.x);
    CGFloat deltaY = fabsf(gestureStartPoint.y - currentPosition.y);


  if(deltaX >= kMinimumGestureLength && deltaY <= kMaximumVariance){
      //do something 
 }
else if(deltaY >= kMinimumGestureLength && deltaX <= kMaximumVariance){
      //do something
   }
 }

これは、スワイプレコグナイザーを実装する1つの方法です。また、このトピックに関するドキュメントを確認する必要があります。

UISwipeGestureRecognizer

于 2010-12-06T18:21:22.290 に答える
0

ああ、私は自分の質問に答えることができました:http: //developer.apple.com/library/ios/#samplecode/SimpleGestureRecognizers/Introduction/Intro.html#//apple_ref/doc/uid/DTS40009460

みんな助けてくれてありがとう!

于 2010-12-06T18:47:41.050 に答える