UIScrollViewDelegate には 2 つのデリゲート メソッドがありますscrollViewDidScroll:
が、scrollViewDidEndScrollingAnimation:
どちらもスクロールが完了したことを通知しません。scrollViewDidScroll
スクロール ビューがスクロールしたことは通知しますが、スクロールが終了したことは通知しません。
他のメソッドは、scrollViewDidEndScrollingAnimation
ユーザーがスクロールした場合ではなく、プログラムでスクロール ビューを移動した場合にのみ実行されるようです。
スクロール ビューのスクロールが完了したことを検出するスキームを知っている人はいますか?
ベストアンサー1
の320 実装はるかに良くなりました - スクロールの開始と終了を一定にするためのパッチがここにあります。
-(void)scrollViewDidScroll:(UIScrollView *)sender
{
[NSObject cancelPreviousPerformRequestsWithTarget:self];
//ensure that the end of scroll is fired.
[self performSelector:@selector(scrollViewDidEndScrollingAnimation:) withObject:sender afterDelay:0.3];
...
}
-(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
{
[NSObject cancelPreviousPerformRequestsWithTarget:self];
...
}