4

UIScrollViewDelegate速いパンから勢いが始まった後、ユーザーが画面に触れて保持したために、スクロールビューの動きが突然停止したことを検出するためにを使用する方法を知りたいです。

このscrollViewDidEndDecelerating:メソッドは、ユーザーが指を離したときにのみ上記のケースで起動します。ただし、ユーザーがスクロール ビューの勢いの間にタップ アンド ホールドした場合、このメソッドは起動しません (ユーザーが指を離すまで)。ユーザーのタッチダウンでスクロールビューが停止したときに、これを傍受する方法はありますか?

4

3 に答える 3

4

使ってみましたscrollViewWillBeginDraggingか?または(ドキュメントでは、scrollViewWillBeginDraggingすぐに起動しない可能性があることが示されているため)scrollViewDidScroll、ユーザーが現在スクロールビューに触れているかどうかを使用して確認することができます...

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if(scrollView.isTracking){
        //do something
    }
}
于 2012-08-24T05:30:30.223 に答える
2

ユーザースクロールを開始したときに発生するフラグを設定できます。これはscrollViewDidEndDecelerating. そうすれば、フラグがクリアされる前にユーザーが再びスクロールを開始した場合、減速中にユーザーがタッチしたことがわかります。

于 2012-08-24T01:14:51.290 に答える