1

タップ数とタッチ数を検出するために、独自のタップ ジェスチャ認識エンジンをコーディングしたいと思います (iOS のタップ ジェスチャ認識エンジンは、後でさまざまな方法で拡張したいので使用したくありません)。

私は次のことを試しました:最初motionBeginのタッチ数をタップとして使用しnumberOfTouches、 をインクリメントしnumberOfTaps、タップ検出タイマーを開始して、しばらく新しいタップが見られない場合はタップジェスチャを検出します

motionBegin問題は、ダブルタッチ タップ ジェスチャを実行すると、iOSがダブル タッチの 1 つまたは 2 つのクイック ワンタッチ イベントを正しく検出することにすぐに気付くことです。正しい実装では、密接に発生するクイック ワンタッチ イベントを検出しようとする必要があると思いますが、ジェスチャ認識機能を実装するためのより良い方法があるかどうか疑問に思っています。

iOS のタップ ジェスチャがどのように実装されているか知っている人はいますか?

4

1 に答える 1

0
1. Add UIGestureRecognizerDelegate in your .h file. like
@interface finalScreenViewController : UIViewController <UIGestureRecognizerDelegate>
{
// do your stuff
}


2. Create a view in your viewDidLoad method (or any other method) you wanna to add the gesture in your .m file
ex 

UIView * myView=[[UIView alloc]init];
myView.frame=CGRectMake(0,0.self.view.frame.size.width,self.view.frame.size.height);
[self.view addSubView: myView];



UITapGestureRecognizer *letterTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapMethod:)];
        letterTapRecognizer.numberOfTapsRequired = 1;
        [myView addGestureRecognizer:letterTapRecognizer];



3. you can get view by

- (void) tapMethod:(UITapGestureRecognizer*)sender {
     UIView *view = sender.view; 
     NSLog(@"%d", view.tag);//By tag, you can find out where you had tapped. 
}
于 2016-03-15T07:34:36.437 に答える