-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Rotation flick animation / drift rotation is too difficult to trigger #1487
Comments
The rotation and pinch gesture recognizers are firing simultaneously, but drift rotation only kicks in if the rotation velocity is above 3 rad/s in either direction. This check is necessary to prevent non-flick rotation from causing drift, but we should try decreasing the constant a bit. |
The other thing to consider is that it’s very rare for an iPhone user to perform a perfectly circular rotation gesture. Even when you intend to just rotate with your fingers, they almost always form an ellipse, which triggers the pinch gesture recognizer, because your hand is off to one side of the device. |
Thanks for the code pointers. 3 rad/sec is almost half a turn (172 degrees per sec). |
Some other changes may also be needed for this. At times the map drifts in the direction opposite to what one would expect it to.
|
Note that even though 3 rad/sec may sound quite high, a flick only lasts for a small fraction of a second. |
For a rotation with 3 cm radius, 3 rads/sec translates to finger speed of 0.324 kph (0.2 mph). |
That sounds a lot like a lingering angle normalization bug that would be fixed by #1453. 0.78 seems to exacerbate the issue where a rotation is interpreted as an inward pinch – or maybe two-finger tap?
Or 541.2 furlongs per fortnight. 😉 Actually, I just did some logging and found it quite easy to flick-rotate at ±4–5 rad/s without trying that hard, so maybe this constant isn’t the problem after all. |
Stale. |
Its very difficult to trigger rotation drift animation in the current implementation. Its almost always detected as zoom. There is some discussion on this in #1338 as well.
The text was updated successfully, but these errors were encountered: