Skip to content

Instantly share code, notes, and snippets.

@delannoyk
Created February 4, 2022 14:29
Show Gist options
  • Save delannoyk/b4b03b143c4a6c989728c89495cbaf8f to your computer and use it in GitHub Desktop.
Save delannoyk/b4b03b143c4a6c989728c89495cbaf8f to your computer and use it in GitHub Desktop.
import UIKit
protocol ScrollViewBehavior {
func afterScrolling(_ scrollView: UIScrollView)
func beforeDraggingBegins(_ scrollView: UIScrollView)
func beforeDraggingEnds(_ scrollView: UIScrollView, velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>)
func afterDraggingEnds(_ scrollView: UIScrollView, wilDecelerate: Bool)
func afterScrollingToTop(_ scrollView: UIScrollView)
func beforeDeceleratingBegins(_ scrollView: UIScrollView)
func afterDeceleratingEnds(_ scrollView: UIScrollView)
func beforeZoomingBegins(_ scrollView: UIScrollView, view: UIView?)
func afterZoomingEnds(_ scrollView: UIScrollView, view: UIView?, scale: CGFloat)
func afterZooming(_ scrollView: UIScrollView)
func afterScrollingAnimation(_ scrollView: UIScrollView)
func afterChangingAdjustedContentInset(_ scrollView: UIScrollView)
}
extension ScrollViewBehavior {
func afterScrolling(_ scrollView: UIScrollView) {}
func beforeDraggingBegins(_ scrollView: UIScrollView) {}
func beforeDraggingEnds(_ scrollView: UIScrollView, velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {}
func afterDraggingEnds(_ scrollView: UIScrollView, wilDecelerate: Bool) {}
func afterScrollingToTop(_ scrollView: UIScrollView) {}
func beforeDeceleratingBegins(_ scrollView: UIScrollView) {}
func afterDeceleratingEnds(_ scrollView: UIScrollView) {}
func beforeZoomingBegins(_ scrollView: UIScrollView, view: UIView?) {}
func afterZoomingEnds(_ scrollView: UIScrollView, view: UIView?, scale: CGFloat) {}
func afterZooming(_ scrollView: UIScrollView) {}
func afterScrollingAnimation(_ scrollView: UIScrollView) {}
func afterChangingAdjustedContentInset(_ scrollView: UIScrollView) {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment