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