私は試しています:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
}
ただし、指が動いていない場合にのみ機能します。ありがとう
私は試しています:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
}
ただし、指が動いていない場合にのみ機能します。ありがとう
このメソッドは、指が動いていても機能するはずです。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;
やってみて!
これはドキュメントからのものです
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
タッチが属するイベントを表すオブジェクト。