How to know exactly when a UIScrollView's scrolling has stopped?

后端 未结 6 1031
慢半拍i
慢半拍i 2020-12-04 22:07

In short, I need to know exactly when the scrollview stopped scrolling. By \'stopped scrolling\', I mean the moment at which it is no longer moving and not being touched.

6条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-04 22:51

    Here's how to combine scrollViewDidEndDecelerating and scrollViewDidEndDragging:willDecelerate to perform some operation when scrolling has finished:

    - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
    {
        [self stoppedScrolling];
    }
    
    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView 
                      willDecelerate:(BOOL)decelerate
    {
        if (!decelerate) {
            [self stoppedScrolling];
        }
    }
    
    - (void)stoppedScrolling
    {
        // done, do whatever
    }
    

提交回复
热议问题