What's the velocity unit in scrollViewWillEndDragging:withVelocity:targetContentOffset:?
Asked Answered
M

2

14

The documentation states it's points (per second, I'm assuming)? However, the values I get for it are in the (.5, 3.5) range. The scroll view then travels several hundred points before coming to a halt. The actual initial velocity should be different by orders of magnitude.

Manifold answered 14/3, 2012 at 17:50 Comment(5)
I thought those could be screen or view heights (widths) but that wasn't it either.Manifold
Perhaps it's in points per screen-refresh-interval, which is 1/60th of a second. Touch events are reported at the screen refresh interval, so this would make sense.Fourdrinier
I guess it could be, thanks. Problem is, there's still no way to get any meaningful data (e.g. time until it stops) out of the method - because we don't know the deceleration curve.Manifold
Definitely file a bug requesting a documentation improvement here. Have you tried per-millisecond?Horsewhip
What are you attempting to do? Perhaps there is another way of looking at it?Perpetrate
T
17

It is points/millisecond. From UIScrollView.h:

// called on finger up if the user dragged. velocity is in points/millisecond. targetContentOffset may be changed to adjust where the scroll view comes to rest
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset NS_AVAILABLE_IOS(5_0);

This is from iOS 7 SDK, which seemed more plausible given the very low values they've been returning in velocity.

Testudo answered 23/9, 2013 at 5:4 Comment(0)
O
1

From Docs

called on finger up if the user dragged. velocity is in points/millisecond. targetContentOffset may be changed to adjust where the scroll view comes to rest

Owain answered 31/3, 2013 at 0:54 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.