質問

アプリケーションにスワイプジェスチャー認識者を追加しています

- (void)createGestureRecognizers
{

    //adding swipe up gesture
    UISwipeGestureRecognizer *swipeUpGesture= [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeUpGesture:)];
    [swipeUpGesture setDirection:UISwipeGestureRecognizerDirectionUp];
    [self.view addGestureRecognizer:swipeUpGesture];
    [swipeUpGesture release];
}

スワイプイベントを処理する方法:

-(IBAction)handleSwipeUpGesture:(UISwipeGestureRecognizer *)sender
{
    NSLog(@"handleSwipeUpGesture: called");
}

ここでオフセットを計算するにはどうすればよいですか?ビューを動かすには?

役に立ちましたか?

解決

uiswipegesturerecognizer用のuigesturerecognizerアブストラクトスーパークラスには、foolowingメソッドがあります

- (CGPoint)locationInView:(UIView *)view
- (CGPoint)locationOfTouch:(NSUInteger)touchIndex inView:(UIView *)view

これにより、ビュー内のジェスチャーの位置を知ることができますが、これは個別のジェスチャー認識者です(これは、特定の「翻訳」または「オフセット」と呼びたいもので発射しますが、制御できません)。あなたは継続的な制御を探しているようですね。 uipangesturerecognizer 次の方法があります(これはあなたのために翻訳計算を行います)

- (CGPoint)translationInView:(UIView *)view
- (void)setTranslation:(CGPoint)translation inView:(UIView *)view
- (CGPoint)velocityInView:(UIView *)view

その後、ジェスチャーが継続的に展開されている間に、クイックファイアコールバックを取得します。

他のヒント

uiswipegesterurerecognizerは、個別のスワイプジェスチャーを検出するためのものです - スワイプが完了した直後にアクションを発射します - したがって、指が移動するオフセットまたは距離について尋ねる場合、おそらくUigesturerCognizerのサブクラスを作成するか、使用することを検討したいと思うでしょう。継続的なジェスチャー情報を取得するためのuipangesturerecognizer。あなたが何をしようとしているのか正確にはわかりませんが、uiscrollviewも整っているかもしれません...

をチェックしてください ジェスチャー認識者用のAppleドキュメント.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top