scrollViewWillEndDragging:withVelocity:targetContentOffset:中的速度单位是什么?

14

documentation指出它是points(每秒),我假设?然而,我得到的值在(.5, 3.5)范围内。然后滚动视图在停止之前移动了几百个点。实际的初始速度应该相差数个数量级。


我以为那些可能是屏幕或视图的高度(宽度),但也不是这样。 - RS1
也许它是以每个屏幕刷新间隔的点数来计算的,这个间隔是1/60秒。触摸事件在屏幕刷新间隔时报告,所以这是有道理的。 - rob mayoff
我猜可能是这样,谢谢。问题是,仍然没有办法从该方法中获取任何有意义的数据(例如停止时间),因为我们不知道减速曲线。 - RS1
一定要在这里提交错误报告,请求改进文档。你尝试过每毫秒吗? - jtbandes
你试图做什么?也许有另一种看待它的方式? - Léo Natan
2个回答

17

它是每毫秒的点数。来自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);

这来自iOS 7 SDK,考虑到它们返回的速度非常低,这似乎更有可能。


1

来自文档

如果用户拖动,就会调用手指抬起事件。速度以每毫秒的点数表示。目标内容偏移量可能会更改以调整滚动视图停止的位置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接