Detectando o "salto" inferior do UITableView

Eu tenho uma exibição de tabela que executa uma animação quando o usuário rola para baixo em um UITableView (push polegar para cima) e uma animação diferente quando o usuário rola para cima (Push polegar para baixo) em um UITableView.

O problema é quando o usuário atinge o fundo de um UITableView e ele salta, a tabela registra um movimento para cima e depois para baixo, executando assim a animação quando não deveria.

Esse mesmo comportamento exato acontece ao rolar para o topo; no entanto, eu sou capaz de detectá-lo assim:

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

    self.lastContentOffset = scrollView.contentOffset;

}


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

    // Check if we are at the top of the table
    // This will stop animation when tableview bounces

    if(self.tableView.contentOffset.y < 0){
        // Dont animate, top of tableview bounce


    } else {

        CGPoint currentOffset = scrollView.contentOffset;

        if (currentOffset.y > self.lastContentOffset.y) {

            // Downward animation
            [self animate:@"Down"];

        } else {

            // Upward
            [self animate:@"Up"];

        }

        self.lastContentOffset = currentOffset;

    }

}

Isso funciona perfeitamente, mas para a vida de mim eu não consigo descobrir uma condição para detectar o fundo também. Eu tenho certeza que é simples e eu simplesmente não consigo descobrir.

questionAnswers(2)

yourAnswerToTheQuestion