アイデアは、PageController を UIScrollView に置き換えることです。UIScrollView は、次/前の項目にスクロールして停止するだけです。いくつかの解決策を見つけましたが、targetContentOffsetForProposedContentOffset を使用する必要があることだけを理解しましたが、どの CGPoint を返す必要があるのか 、ユーザーが高速でスクロールしても次のアイテムで停止する方法がわかりません。
override func targetContentOffsetForProposedContentOffset(proposedContentOffset: CGPoint, withScrollingVelocity velocity: CGPoint) -> CGPoint {
return CGPoint(x: 0, y: 0)
}