UIAccelerometer 和 UIScrollView

Posted

技术标签:

【中文标题】UIAccelerometer 和 UIScrollView【英文标题】:UIAccelerometer and UIScrollView 【发布时间】:2010-08-13 05:09:55 【问题描述】:

我想根据 UIAccelerometer 值滚动滚动视图。实现这一目标的最佳方法是什么?

最初,我将内容偏移设置为基于我获得的加速度计值的值。然后在每个scrollViewDidEndAnimating 上,我再次根据加速度值设置内容偏移量。我知道setContentOffset 实际上以匀速滚动滚动视图而没有任何加速度。然而,这种机制在滚动滚动视图时似乎非常不稳定。

任何想法都会受到赞赏。

感谢和问候

【问题讨论】:

【参考方案1】:

我做过一次。 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;

【讨论】:

非常感谢.. 你拯救了我的一天......这正是我正在寻找的解决方案

以上是关于UIAccelerometer 和 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章

UIAccelerometer, ViewControllers, and TabViewController, tabs 和 MotionBegan 之间的切换没有被调用

UIAccelerometer距离计算

UIAccelerometer 校准后更灵敏?

如何校准 UIAccelerometer?

UIAccelerometer 已弃用 ios7

iPhone中的UIAccelerometer