3

UIScrollView一度に1 ページしかスクロールできないように制限したいと思います。

つまり、ユーザーが非常に速くフリックしても、UIScrollView1 ページだけスクロールするように制限する必要があります。

これを行う良い方法はありますか?

4

2 に答える 2

6
UIScrollView *myScrollView;
...

myScrollView.pagingEnabled = YES;

YES に設定すると、スクロール ビューはスクロール ビューの倍数で停止します。

于 2012-10-06T23:08:59.490 に答える
1

これを実現する 1 つの方法は、まだスクロール ビューに落ち着いていない場合は、UIPageViewController. 私は自分のアプリで 1 つを見ていますが、この機能は無料で提供されているようです。

UIScrollView では、UIScrollViewDelegateメソッドに応答することをお勧めします。- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset

現在の「ページ」をプロパティに保持し、scrollViewWillEndDragging:withVelocity:targetContentOffset:メソッドでターゲットコンテンツのオフセットを次/前のページのみに変更できると考えていました。

実際の動作を見たい場合は、このアプローチを使用する 2012 WWDC ビデオ、スクロール ビューによるユーザー エクスペリエンスの向上があります。

于 2012-10-06T23:39:44.957 に答える