Why am I getting touchesCanceled instead of touchesEnded?

I am using debug labels so I know when I get any touchesBegan, touchesMoving, touchesEnded, and touchesCanceled.

I get everything I expect, touchesBegan, touchesMoved, and touchesEnded. However, it would appear that if I barely, just barely move an SKSPriteNode, I get a touchesCanceled instead of touchesEnded. Even thought the call right before is touchesMoved.

Is this as intended? Is there some threshold you have to reach to get an ended instead of a canceled? And if so, can I see and change it?

Thanks

More than glad to put my code, tho not sure how that would change anything.

Answered by Claude31 in 684501022

Yes, it may be a question of how fast you lift the finger.

See discussion here:

https://stackoverflow.com/questions/10325776/touchescancelled-is-called-instead-of-touchesended

The best is probably to call the same code for touchesEnded and touchesCancelled.

Accepted Answer

Yes, it may be a question of how fast you lift the finger.

See discussion here:

https://stackoverflow.com/questions/10325776/touchescancelled-is-called-instead-of-touchesended

The best is probably to call the same code for touchesEnded and touchesCancelled.

Why am I getting touchesCanceled instead of touchesEnded?
 
 
Q