私はscrollViewを持っています。典型的なtableViewセル。私はviewDidScrollでたくさんのことをしました。
viewDidScrollは2つのケースで呼び出されます。
- ユーザースクロール
- ユーザーがスクロールを停止した場合でも、勢いやバウンドなどにより、scrollviewはスクロールします。
では、ユーザーがまだscrollViewに触れているかどうかをどうやって知ることができますか?
私はscrollViewを持っています。典型的なtableViewセル。私はviewDidScrollでたくさんのことをしました。
viewDidScrollは2つのケースで呼び出されます。
では、ユーザーがまだscrollViewに触れているかどうかをどうやって知ることができますか?
UIScrollView
スクロールビューにタッチなどがある間、という名前のBOOL
プロパティtracking
があります。私のテストでは、ビューが減速している(そしてそのデリゲートに送信している)場合でも、タッチが終了するとすぐに設定されます。これはまさにあなたが求めているもののようです。YES
NO
NO
scrollViewDidScroll:
私のテストでは、タッチが終了した後にビューが減速している間、dragging
プロパティは確実に取得されないようです。NO
私のテストでは、このdecelerating
プロパティも信頼できません。減速中にスクロールビューをタッチすると、ビューのスクロールが停止しても表示されたdecelerating
ままになります。YES
デリゲートscrollViewWillBeginDragging:
は、ユーザーがドラッグを開始したときに呼び出され、scrollViewDidEndDragging:willDecelerate:
&scrollViewWillEndDragging:withVelocity:targetContentOffset:
(ページングが有効になっていないiOS 5以降)は、ユーザーが指を離したときに呼び出されます。
scrollViewWillBeginDecelerating:
とを確認することもできscrollViewDidEndDecelerating:
ます。