-3

私は試しています:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{


}

ただし、指が動いていない場合にのみ機能します。ありがとう

4

2 に答える 2

1

このメソッドは、指が動いていても機能するはずです。UIGestureRecognizer を使用している場合は、おそらく問題が UISwipeGestureRecognizer に関係している可能性があります。

実際に UISwipeGestureRecognizer を使用している場合は、次の設定を試すことができます。

[yourGesture setDelaysTouchesBegan:NO]; //default = NO
[yourGesture setDelaysTouchesEnded:NO]; //default = YES

これらが yes に設定されている場合、UIGestureRecognizer は他のビューに送信する前にタッチを分析します。

[yourGesture setCancelsTouchesInView:NO]; //default = YES

これにより、アクション メソッドが呼び出される直前に、このジェスチャの一部として認識されたすべてのタッチの touchesCancelled:withEvent: がビューに送信されます。

また、UIGestureRecognizer で他のジェスチャが失敗する必要がある場合、これにより問題が発生する可能性があります。

- (void)requireGestureRecognizerToFail:(UIGestureRecognizer *)otherGestureRecognizer;

やってみて!

于 2012-12-20T16:53:15.780 に答える
0

これはドキュメントからのものです
touchesEnded:withEvent:
Tells the receiver when one or more fingers are raised from a view or window.

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

Parameters
touches
event によって表されるイベントの終了フェーズのタッチを表す UITouch インスタンスのセット。
event
タッチが属するイベントを表すオブジェクト。

于 2012-12-20T15:58:59.140 に答える