1

UIAccelerometer の値に基づいてスクロールビューをスクロールしたい。これを達成するための最良の方法は何ですか?

私の主な問題は、加速度計の値を使用すると、コンテンツ オフセットを設定できないことです。スクロールビュー自体が特定の速度を使用してスクロールし、加速度計の値を使用してスクロールしようとするとジャークが発生するためです。

4

1 に答える 1

0

これを試して:

- (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;
}
于 2013-02-01T20:21:07.313 に答える