我想根据 UIAccelerometer 值滚动滚动视图。实现这一目标的最佳方法是什么?
最初,我根据获得的加速度计值将内容偏移量设置为一个值。然后在每一个上scrollViewDidEndAnimating
,我再次根据加速度值设置内容偏移量。我知道setContentOffset
实际上以均匀的速度滚动滚动视图而没有任何加速度。然而,这种机制在滚动滚动视图时似乎非常不稳定。
任何想法将不胜感激。
谢谢并恭祝安康
我想根据 UIAccelerometer 值滚动滚动视图。实现这一目标的最佳方法是什么?
最初,我根据获得的加速度计值将内容偏移量设置为一个值。然后在每一个上scrollViewDidEndAnimating
,我再次根据加速度值设置内容偏移量。我知道setContentOffset
实际上以均匀的速度滚动滚动视图而没有任何加速度。然而,这种机制在滚动滚动视图时似乎非常不稳定。
任何想法将不胜感激。
谢谢并恭祝安康
我做过一次。sv
是滚动视图。
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
if (sv.tracking || sv.decelerating) return;
CGPoint pt = sv.contentOffset;
pt.x += acceleration.x * 2;
pt.y -= acceleration.y * 2;
if (pt.x < 0) pt.x = 0;
if (pt.x > sv.contentSize.width - sv.frame.size.width) pt.x = sv.contentSize.width - sv.frame.size.width;
if (pt.y < 0) pt.y = 0;
if (pt.y > sv.contentSize.height - sv.frame.size.height) pt.y = sv.contentSize.height - sv.frame.size.height;
sv.contentOffset = pt;
}