私のアプリでは、3.2SDKで利用できる新しいジェスチャ認識機能を追加しました。すべてが正常に機能しているように見え、画面の応答時間は非常に高速でした。しかし、何らかの理由requireGestureRecognizerToFail
でジェスチャーの一部を追加すると、ジェスチャーがトリガーされるときに非常に目に見える遅延が発生します。以下は、ジェスチャ認識機能を作成するために使用するコードのスニペットです。なぜ遅延があるのか、どうすれば修正できるのか誰かが知っていますか?ユーザーがを実行したときにジェスチャーがトリガーrequireGestureRecognizerToFail
されないようにするために使用しています。SingleTap
DoubleTap
- (void)createGestureRecognizers {
//Single Finger Double-Tap
UITapGestureRecognizer *singleFingerDTap = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSingleDoubleTap:)];
singleFingerDTap.numberOfTapsRequired = 2;
[super addGestureRecognizer:singleFingerDTap];
//Single Finger Tap
UITapGestureRecognizer *singleFingerTap = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSingleTap:)];
singleFingerTap.numberOfTapsRequired = 1;
[singleFingerTap requireGestureRecognizerToFail:singleFingerDTap];
[self addGestureRecognizer:singleFingerTap];
//Two Finger Pan
UIPanGestureRecognizer *panGesture2 = [[UIPanGestureRecognizer alloc]
initWithTarget:self action:@selector(handlePanGesture2:)];
panGesture2.maximumNumberOfTouches = 2;
[super addGestureRecognizer:panGesture2];
//Single Finger Pan
UIPanGestureRecognizer *panGesture1 = [[UIPanGestureRecognizer alloc]
initWithTarget:self action:@selector(handlePanGesture1:)];
panGesture1.maximumNumberOfTouches = 1;
[panGesture1 requireGestureRecognizerToFail:panGesture2];
[super addGestureRecognizer:panGesture1];
[singleFingerDTap release];
[singleFingerTap release];
[panGesture1 release];
[panGesture2 release];
}