Cocoa touch scrollViewDidScroll未调用--调用ScrollViewDidEndDecelling

Cocoa touch scrollViewDidScroll未调用--调用ScrollViewDidEndDecelling,cocoa-touch,uiscrollview,uiscrollviewdelegate,Cocoa Touch,Uiscrollview,Uiscrollviewdelegate,我有一个替换键盘的自定义视图,我试图让它在用户向下滚动时滚动到屏幕外 我最初的scrollViewDelegate方法工作正常,只是在用户滚动和查看动画之间有一个延迟,因为我使用的是ScrollViewDiEndDecelling,在用户开始滚动后,调用它大约需要1秒 - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { self.isUserScrolling = YES; // Save to

我有一个替换键盘的自定义视图,我试图让它在用户向下滚动时滚动到屏幕外

我最初的scrollViewDelegate方法工作正常,只是在用户滚动和查看动画之间有一个延迟,因为我使用的是
ScrollViewDiEndDecelling
,在用户开始滚动后,调用它大约需要1秒

  - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    self.isUserScrolling = YES;

    // Save to tell if scrolling up or down
    initialContentOffset = scrollView.contentOffset.y;
    previousContentDelta = 0.f;
}

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    self.isUserScrolling = NO;

}

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {

    self.isUserScrolling = NO;

    // If scrolled down
    CGFloat prevDelta = previousContentDelta;
    CGFloat delta = scrollView.contentOffset.y - initialContentOffset;
    if (delta > 0.f && prevDelta <= 0.f) {

    } else if (delta < 0.f && prevDelta >= 0.f) {
        [self animateKeyBoardSpace:[self rectForKeyboardSpace:NO] curve:UIViewAnimationCurveEaseInOut duration:0.25];
    }
    previousContentDelta = delta;

}

但是,
scrollViewDidScroll
甚至没有被调用。它在同一个tableViewController中,委托被设置,其他委托方法被调用。

我在超类中工作,我在子类中有一个
scrollViewDidScroll
的存根。这是捕获代理调用

我只需要删除子类存根

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    //    ScrollDirection scrollDirection;
    if (lastContentOffset > scrollView.contentOffset.y) {
        [self animateKeyBoardSpace:[self rectForKeyboardSpace:NO] curve:UIViewAnimationCurveEaseInOut duration:0.25];
    }
    else if (lastContentOffset < scrollView.contentOffset.y) {

    }

    lastContentOffset = scrollView.contentOffset.x;
}