UICollectionView を使用して異なるページ間をスクロールするときに、モバイル Safari と同じ機能を実装しようとしています。1 つのページが真ん中にあり、他のページの一部も見えています。
UICollectionView を使用してこのような動作を実現するのに苦労しています。1 つの画面に 3 ページを配置する方法を 1 つ見つけました。ページを小さくして、適切なインセットを設定します。しかし、ページを小さく設定し、ページングを有効にするとすぐに、ページが本来のように中央にスクロールされません。ページングを無効のままにして、UICollectionViewFlowLayout のサブクラスでこのメソッドを使用することもできます。
- (CGRect)rectForTargetPageForProposedContentOffset:(CGPoint)proposedContentOffset withScrollingVelocity:(CGPoint)velocity
このメソッドでは、UICollectionView が停止する場所を正確に設定できます。ただし、スクロール エクスペリエンスは、ページングを有効にして UIScrollview を使用した場合ほど良くありません。より速い速度でスワイプすると、いくつかのページがスクロールされ、提案されたページで停止しました。私が達成したいのは、ページングが有効になっている通常のスクロール ビューと同じ動作です。使用する速度に関係なく、1 ページしか取得できません。
UICollectionViewを使用してこれを解決する方法を知っている人はいますか?