Cocoa touch UITableView获得滚动速度

Cocoa touch UITableView获得滚动速度,cocoa-touch,uitableview,Cocoa Touch,Uitableview,我有一个带有图像的表格单元格,当滚动速度下降到一个临界值时,我希望它们开始加载 但是,如何确定UITableView的当前滚动速度 我找到了一个 tableView.isDecelerating 但是,我想加载图像,当滚动速度慢时,如果您的目标是iOS>=5,则可以获取底层的UIPangestureRecognitor,然后询问它的速度 CGPoint velocity = [tableView.panGestureRecognizer velocityInView:tableView];

我有一个带有图像的表格单元格,当滚动速度下降到一个临界值时,我希望它们开始加载

但是,如何确定UITableView的当前滚动速度

我找到了一个

tableView.isDecelerating

但是,我想加载图像,当滚动速度慢时,如果您的目标是iOS>=5,则可以获取底层的
UIPangestureRecognitor
,然后询问它的速度

CGPoint velocity = [tableView.panGestureRecognizer velocityInView:tableView];
这对我有效(在CellForRowatineXpath回调中)。如果速度低于1000像素/秒,我将加载图像:

static double prevCallTime = 0;
static double prevCallOffset = 0;

//Simple velocity calculation
double curCallTime = CACurrentMediaTime();
double timeDelta = curCallTime - prevCallTime;
double curCallOffset = self.tableView.contentOffset.y;
double offsetDelta = curCallOffset - prevCallOffset;
double velocity = fabs(offsetDelta / timeDelta);
NSLog(@"Velocity: %f", velocity);
prevCallTime = curCallTime;
prevCallOffset = curCallOffset;

您还可以尝试使用
减速率
,这只是一个用于计算“减速”无效的属性。这仅在用户的手指与屏幕接触时起作用。在所有其他时间,速度为零。