私が達成したいのは、ユーザーがジェスチャーを開始したポイントと、これをやめたポイントの間に線を引くことです。私はUIGestureRecognizerStateEndedが必要な状態だと思っていますが、複数回呼び出されています。誰が私になぜこのようなことが起こっているのか、そして最後の点を捉える方法を説明できるのであれば、本当に感謝しています。なぜUIPestGetureRecognizerはUIGestureRecognizerStateEndedを使って何度も起動しますか?
- (void)drawingViewDidPan:(UIPanGestureRecognizer*)sender
{
CGPoint currentDraggingPosition = [sender locationInView:_drawingView];
if(sender.state == UIGestureRecognizerStateBegan){
_prevDraggingPosition = currentDraggingPosition;
NSLog(@"---");
}
if(sender.state != UIGestureRecognizerStateEnded){
[self drawLine:_prevDraggingPosition to:currentDraggingPosition];
NSLog(@"???");
}
_prevDraggingPosition = currentDraggingPosition;
}
ログ:
2016年8月5日17:14:46.086 X [2518:356899] --- 2016年8月5日17:14:46.092 X [2518。 356899] 2016-08-05 17:14:46.127×[2518:356899] 2016-08-05 17:14:46.153 X [2518:356899] 2016-08-05 17:14:46.177×[2518:356899] 2016-08-05 17:14:46.205 X [2518:356899] 2016-08-05 17:14:46.226 X [2518:356899] 2016-08-05 17:14:46.246X [2518:356899] 2016-08-05 17:14:46.279 X [2518:356899] ...
あなたのログ出力は何ですか、それは複数回発射しているかどうかを明確にするはずです。現在、それは確かではありません。 – Shubhank
質問を更新しました – AOY
わかりません。たぶん私は間違ったジェスチャ認識機能を使用しています – AOY