【Swift/UIKit】UIScrollViewのスクロールを検知する方法!UIScrollViewDelegate
この記事からわかること
- Swift/UIKitでUIScrollViewのスクロールを検知する方法
- UIScrollViewDelegateの使い方
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
環境
- Xcode:16.0
- iOS:18.0
- Swift:5.9
- macOS:Sonoma 14.6.1
UIScrollViewのスクロールを検知する方法
UIScrollView
でスクロールされたことを検知するにはUIScrollViewDelegate
を使用することで実現することができます。UIScrollViewDelegate
をViewController
クラスに準拠させscrollView.delegate
に自身をセットします。
これで各デリゲートメソッドからスクロールに関するイベントを検知することができるようになります。
class ViewController: UIViewController, UIScrollViewDelegate {
@IBOutlet var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
// 〜〜〜〜〜〜〜〜〜
scrollView.delegate = self // デリゲートを設定
}
// スクロールが開始された時に呼ばれる
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
print("スクロール開始")
}
// スクロールが終了した時に呼ばれる
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
print("スクロール終了")
}
// スクロール中の位置が変わるたびに呼ばれる
func scrollViewDidScroll(_ scrollView: UIScrollView) {
print("スクロール中... offset: \(scrollView.contentOffset.y)")
}
}
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。