質問

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

最初に、コンテンツオフセットを、得る加速度計の値に基づいて値に設定します。それぞれに 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;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top