Problably you know that iPhone OS makes an artifical delay of about 0.25 seconds after an touchesBegan: occures. This is to check if the user intends to move or not. If the deltas move significantly enough during this time, a touchesMoved: sequence starts.
But when you want to implement tactile touch behaviour in your app, you may not want any delay. It looks so ugly! You start moving something, and for 0.3 seconds nothing happens. Then, BANG and the whole thing starts to move with a big flip. That happens every time a new touch sequence with movement begins. This seriously sucks. Of course in some situations it is needed because you may want to determine if the user really intended to move. but not so on a custom-build slider or other kind of tactile control that works by tracking touch movements.
So after I figured out that this is happening intentionally by iPhone OS, I'd like to know how to overcome this problem. I can't predict movement because the user might move to left, or to right. I don't know this in touchesBegan:. 0.3 seconds is just enough to make the app look unresponsive.
However, there seems to be hope: Convertbot has absolutely no issue with that. The wheel rotates immediately upon touching and moving it. There is no lag, no delay. I askded in their blog how they did it, but no response yet.
I hope there is a way to pull manually touch coordinates out from the system. When touchesBegan:, I'd start a interval that pulls at 60hz until touchesMoved: takes action.
So the biggest question on this planet: "How is that possible"?