我有带有图像的表格单元格,我希望它们一旦滚动速度下降到阈值就开始加载
但是,如何确定UITableView的当前滚动速度?
我找到了
tableView.isDecelerating
但是我想加载图像,当滚动速度很慢时
答案 0 :(得分:8)
这对我有用(在cellForRowAtIndexPath回调中)。如果速度低于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;
答案 1 :(得分:1)
如果你的目标是iOS> = 5,你可以得到基础的UIPanGestureRecognizer
,然后问它的速度
CGPoint velocity = [tableView.panGestureRecognizer velocityInView:tableView];