UIAccelerometer の値に基づいてスクロールビューをスクロールしたい。これを達成するための最良の方法は何ですか?
私の主な問題は、加速度計の値を使用すると、コンテンツ オフセットを設定できないことです。スクロールビュー自体が特定の速度を使用してスクロールし、加速度計の値を使用してスクロールしようとするとジャークが発生するためです。
UIAccelerometer の値に基づいてスクロールビューをスクロールしたい。これを達成するための最良の方法は何ですか?
私の主な問題は、加速度計の値を使用すると、コンテンツ オフセットを設定できないことです。スクロールビュー自体が特定の速度を使用してスクロールし、加速度計の値を使用してスクロールしようとするとジャークが発生するためです。
これを試して:
- (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;
}