2011-08-09 6 views
16

UIViewControllerの中にUIScrollViewを保持しています。UIScrollViewとpagingEnabled = YESでバウンスを無効にできません

m_scrollViewは、私はその展示品のUIViewController持っているそれぞれの "ページ" でpagingEnabled=YES;

です。ページからページへのユーザスワイプiが使用された場合

はバウンスを防ぐには:

m_scrollView.bounces=NO;

とさえ

m_scrollView.alwaysBounceHorizonal=NO;

を私は変更がある最後のページにのみでした気づきますバウンスしないでください。 しかし、他のページをスワイプすると、バウンスします。

EDIT:最適解はバウンスで

迷惑をバウンスすることなく、最初と最後のページのバウンスが及びその他のページ(ユーザが何もより多くのページ\ページングありませんrepsondれます)を作成した ページをスワイプするとバウンス効果が等しくなくなります。 somtimesそれはより多く、そしてsomtimesより少なく跳ねます。

私はページ内のデータの読み込みとは関係ありませんが、すべてのページが読み込まれ、読み込みの非同期操作がバックグラウンドで行われていない場合にも起こります。 アイデア

EDIT 2: 私はバウンスプロパティを推測するには、UIScrollViewののエッジ、 についてですが、ページからページへ移動するときにもバウンスがあります。 時々私は次の次のページの少しを見ることができます。 例: ページ2からページ3にスワイプし、スワイプのアニメーションでは0.1秒のページ4を見ることができます。

また、スワイプのアニメーションは一定ではありません。それぞれのスワイプが少し違っていると感じます。 ありがとうございます。

+0

「ページ間のバウンス」とはどういう意味ですか?ユーザーがスクロールビューの端に達すると、バウンスの全ポイントが「バウンス」します。ページ間にバウンスはありません。 –

+0

もし私がスクロールビューで10 "ページ"を持っていたら... 2ページ目から3ページ目にスワイプすると(例えば) 私はランダムにこの結果を得ます: ページ3リーチは少し "バウンス" - ページ3の境界線が境界線であり、ページ4のほとんどが表示されずに戻ることがあります。 - ページ3の境界線が境界線であり、停止しています(そして、これが私の望みです) 再び、スワイプのアニメーションは一定ではなく、 UIフレンドリーではありません。 私はここではっきりしています。 – perr200

+0

振る舞いは、解放する前にどれだけドラッグするかによって異なります。スクロールデリゲートメソッドをチェックして詳細を制御できるかどうかを確認してください。 – bshirley

答えて

1

UIScrollViewのデリゲートを設定した場合、ユーザーが画面から指を離すと、デリゲートはscrollViewWillBeginDecelerating:と表示されます。 UIScrollViewのsetContentOffset:animated:メソッドを使用して最も近いページをスクロールしたり、animateWithDuration:animations:メソッドを使用して独自のアニメーションを設定したりすることができます。自分のアニメーションが、しかし、進行中の減速。

また、このような状況でのスクロールがより一貫させる可能性がある、UIScrollViewののdecelerationRateUIScrollViewDecelerationRateFastに設定することができます。

0

セットのスクロールバーのバウンスプロパティ偽/いいえ....それは後にバウンスしません...湯はあなたの解決策を得ることを願って、それを試してみてください....

15

はちょうどこの操作を行います。

_scrollView = [[UIScrollView alloc]init]; 
_scrollView.pagingEnabled = YES; 
_scrollView.bounces = NO; //Here 

これ以上、バウンスはできません!

関連する問題