// MARK: - UIScrollViewDelegate.
extension ViewController: UIScrollViewDelegate {
// スクロール中に呼び出され続けるデリゲートメソッド.
func scrollViewDidScroll(_ scrollView: UIScrollView) {
print(#function)
}
// ズーム中に呼び出され続けるデリゲートメソッド.
func scrollViewDidZoom(_ scrollView: UIScrollView) {
print(#function)
}
// ユーザが指でドラッグを開始した場合に呼び出されるデリゲートメソッド.
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
print(#function)
}
// ユーザがドラッグ後、指を離した際に呼び出されるデリゲートメソッド.
// velocity = points / second.
// targetContentOffsetは、停止が予想されるポイント?
// pagingEnabledがYESの場合には、呼び出されません.
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
print(#function)
}
// ユーザがドラッグ後、指を離した際に呼び出されるデリゲートメソッド.
// decelerateがYESであれば、慣性移動を行っている.
//
// 指をぴたっと止めると、decelerateはNOになり、
// その場合は「scrollViewWillBeginDecelerating:」「scrollViewDidEndDecelerating:」が呼ばれない?
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
print(#function)
}
// ユーザがドラッグ後、スクロールが減速する瞬間に呼び出されるデリゲートメソッド.
func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {
print(#function)
}
// ユーザがドラッグ後、慣性移動も含め、スクロールが停止した際に呼び出されるデリゲートメソッド.
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
print(#function)
}
// スクロールのアニメーションが終了した際に呼び出されるデリゲートメソッド.
// アニメーションプロパティがNOの場合には呼び出されない.
// 【setContentOffset】/【scrollRectVisible:animated:】
func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView) {
print(#function)
}
// ズーム中に呼び出されるデリゲートメソッド.
// ズームの値に対応したUIViewを返却する.
// nilを返却すると、何も起きない.
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
print(#function)
return nil
}
// ズーム開始時に呼び出されるデリゲートメソッド.
func scrollViewWillBeginZooming(_ scrollView: UIScrollView, with view: UIView?) {
print(#function)
}
// ズーム完了時(バウンドアニメーション完了時)に呼び出されるデリゲートメソッド.
func scrollViewDidEndZooming(_ scrollView: UIScrollView, with view: UIView?, atScale scale: CGFloat) {
print(#function)
}
// 先頭にスクロールする際に呼び出されるデリゲートメソッド.
// NOなら反応しない.
func scrollViewShouldScrollToTop(_ scrollView: UIScrollView) -> Bool {
print(#function)
return true
}
// 先頭へのスクロールが完了した際に呼び出されるデリゲートメソッド.
// すでに先頭にいる場合には呼び出されない.
func scrollViewDidScrollToTop(_ scrollView: UIScrollView) {
print(#function)
}
}
Created
July 4, 2016 22:38
-
-
Save KentarouKanno/f1118565e25bc78854c72ae4ecfabc8b to your computer and use it in GitHub Desktop.
UIScrollViewDelegate
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment