Как обнаружить Scrollview bounce - iOS

Я хотел бы реализовать эффект типа "pull down to refresh" на UIScrollview. При обнаружении "верхнего" отскока в scrollview представление должно обновлять некоторые компоненты. Как я могу обнаружить "верхний отскок" UIScrollview? Я попробовал делегата "scrollViewWillBeginDragging", но не работал.

Ответ 1

Внедрить scrollViewDidScroll:, а также проверить значение scrollView.contentOffset.y - он будет отрицательным, когда вы потянете вниз, и вернитесь к 0 (или около 0), когда он отскакивает назад. В зависимости от того, какое условие вы хотите встретить, чтобы выполнить обновление, вы можете установить флаг, когда это значение переходит к определенному отрицательному значению, а затем обновить его, когда оно вернется к нулю. Что-то вроде этого:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView.contentOffset.y < -50) _metNegativePullDown = YES;

    if (fabs(scrollView.contentOffset.y) < 1 && _metNegativePullDown) {
        //do your refresh here
        _metNegativePullDown = NO;
    }
}