1

アイデアは、PageController を UIScrollView に置き換えることです。UIScrollView は、次/前の項目にスクロールして停止するだけです。いくつかの解決策を見つけましたが、targetContentOffsetForProposedContentOffset を使用する必要があることだけを理解しましたが、どの CGPoint を返す必要があるのか​​ 、ユーザーが高速でスクロールしても次のアイテムで停止する方法がわかりません。

    override func targetContentOffsetForProposedContentOffset(proposedContentOffset: CGPoint, withScrollingVelocity velocity: CGPoint) -> CGPoint {
    return CGPoint(x: 0, y: 0)
   }
4

2 に答える 2

2

Use below of code. Your problem will be solved.

YourScrollView.pagingEnabled = YES;
于 2016-05-26T13:24:54.703 に答える
1

UIScrollView を使用すると、ページングを有効にできます。このプロパティは、pagingEnabled と呼ばれます。これは、コンテンツ サイズを適切に設定した場合に、全幅 (または高さ) にスナップするかどうかを意味します。

つまり、幅が 100 で高さが 200 の 2 ページが必要な場合、コンテンツ サイズを CGSize 幅 200、高さ 200 に設定します。スクロール ビューは、スナップとページングを処理します。

goToPage(2) のようなページに移動する関数が必要な場合。次に、(pageNumber * scrollView.width (またはページ幅), 1 高さ) の CGRect で UIScrollView の scrollRectToVisible メソッドを呼び出す必要があります。

Swift を使用しているように見えるため、実装が異なる場合があります。

于 2016-05-26T13:20:06.393 に答える