編集:以下の回答を参照してください。UIScrollViewの複数ページのページング有効化
私は小さなアイコンでスクロールメニューのUIScrollViewのを使用しています...
をついにあきらめ、私の問題をお願いしに来ました。 各ページでは、ページングが有効になっていて、中央にアイコンがあり、左右に表示されるアイコンが2つずつあります。あるアイコンからその隣に移動することはできますが、それは問題ありませんが、速いスクロールを行うと、画面の幅である3つ以上のアイコンから移動しません。
3つ以上のアイコンをスクロールすることができ、磁石の動作が遅くなったときにのみ起動されることが必要です。
スピードを計算するためにスクロールビューをスケジュールしようとしました。スピードが速いときはpagingEnabled属性をNOに設定し、減速しているときは再びYESに設定しましたが、YESに設定されるとすぐにビューが表示されますあたかも私が新しいページに持ってきたことを検出していないかのように、元の位置で非常に速く戻る。誰がなぜこれを行うのか知っていますか?そして、私がビューを "okにする方法があれば、ページングは有効になっていますが、見て、15ページ後です。現在のページを中心に、最初から戻ってこないでください。 (それは助けることができる場合)
は、ここに私の更新機能です:上setContentOffsetを使用することにより、
-(void)update:(ccTime)dt { float velocity = fabsf((self.previousOffset-self.scrollView.contentOffset.y)/dt); self.previousOffset = self.scrollView.contentOffset.y; CCLOG(@"Velocity: %f", velocity); if(self.scrollView.pagingEnabled) { if(velocity > 100) { self.scrollView.pagingEnabled = NO; } } else { if(velocity < 100) { self.scrollView.pagingEnabled = YES; } } }