Существует метод UIScrollViewDelegate
, который можно использовать для обнаружения (или лучше сказать «предсказать»), когда прокрутка действительно завершена:
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>)
из UIScrollViewDelegate
, который можно использовать для обнаружения (или лучше сказать «предсказать»), когда прокрутка действительно завершена.
В моем случае я использовал его с горизонтальной прокруткой следующим образом (в Swift 3 ):
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
perform(#selector(self.actionOnFinishedScrolling), with: nil, afterDelay: Double(velocity.x))
}
func actionOnFinishedScrolling() {
print("scrolling is finished")
// do what you need
}