水平方向のUIScrollViewがあります。「プルしてリセット」アニメーションのバリエーションを実行したいのですが、スクロールビューのコンテンツサイズの右端を完全に超えて引っ張り、指を離して、スクロールビューを(0、0)に戻します。 )コンテンツオフセット。
私のデリゲートメソッドは次のようになります。
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
//check if it exceeds a certain critical value
if (scrollView.contentOffset.x - (scrollView.contentSize.width - IMAGE_WIDTH) > 80) {
[self doAnimatedScrollTo:CGPointMake(0, 0)];
}
}
doAnimatedScrollTo:
アニメーションの長さを制御したいので、カスタムアニメーションメソッドが必要です。
これは機能しますが、アニメーションはキューに入れられているようです。UIScrollViewの「バウンス」アニメーションが最初に発生し、次にアニメーションが発生します。
バウンスアニメーションをキャンセルし、コンテンツオフセットが「スナップ」バックしないようにしてから、アニメーションを実行する方法はありますか?