Is there a property that detects SKSpriteNode taps vs. movements

My app is very simple. Using all the touchesFunctions, I can drag a ball around the screen

I'd also, like the user to be able to tape the ball, then tap where to place it, hence no dragging. Just tap to select the ball, then tap where to send it.

I added UITapGestureRecognizer to my code.

My problem is that with a tap, touchesBegan and touchesMoved are also triggered. The heavier the user taps, the more touchesMoved are registered. In one test I was able to do an intended tap, and still got 15 touchesMoved before the Tap.

Is there an iOS property that can somehow help me? Because the only other choice I see is writing ugly code that has to compare time so a selection

My problem is that I don't get the tap trigger till the end.

So I can write code to detect time differences, or something else horrendous, or maybe there's a property that can help?
Is there a property that detects SKSpriteNode taps vs. movements
 
 
Q