1

私は自分のアプリでアルファベットのジェスチャーを検出することに取り組んでいます。したがって、ユーザーが画面にCを描画すると、特別なアクションが実行されます。各アルファベットのタッチポイントに関する事前定義されたデータを持つレコグナイザークラスを使用しており、検出は正常です。すべての画面でこの機能が必要なので、appDelegateクラスに以下のメソッドを追加し、ウィンドウ内のタッチのみを検出します。ここで発生するのは、テーブルビュー、画面内のスクロールビューなどの他のビューが、タッチイベントがウィンドウに送信されるのをブロックすることです。それは完璧に起こり、私のコードは魅力のように機能します。どんな助けでも大歓迎です。

- (void)processGestureData
   {
     NSString *gestureName = [recognizer findBestMatchCenter:&center angle:&angle   score:&score];
     NSLog(@"gesture Name: %@",gestureName);

     if ([gestureName isEqualToString:@"N"] || [gestureName isEqualToString:@"n"])
     {//handle N gesture
     }

     if ([gestureName isEqualToString:@"C"]) 
     {//handle C gesture
     }

   }


 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
 {
  [recognizer resetTouches];
  [recognizer addTouches:touches fromView:self.window];
 }
 - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
 {
  [recognizer addTouches:touches fromView:self.window];
 }
 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
 {
  [recognizer addTouches:touches fromView:self.window];

  [self processGestureData];
 }
4

1 に答える 1