Cancelar o retorno do UIScrollView após arrastar

Eu tenho um UIScrollView horizontal. Eu quero fazer uma variação da animação "puxar para redefinir", onde puxo todo o caminho além da borda direita do tamanho do conteúdo da exibição de rolagem, libero o meu dedo e faço com que a visualização de rolagem volte para (0, 0 ) deslocamento de conteúdo.

Meu método delegado se parece com isto:

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
    //check if it exceeds a certain critical value
    if (scrollView.contentOffset.x - (scrollView.contentSize.width - IMAGE_WIDTH) > 80) {
        [self doAnimatedScrollTo:CGPointMake(0, 0)];
    }
}

OndedoAnimatedScrollTo: é um método de animação personalizado necessário porque eu quero controlar a duração da animação.

Enquanto isso funciona, parece que a animação está na fila. A animação "rebote" do UIScrollView acontece primeiro, depois minha animação ocorre.

Existe uma maneira de cancelar a animação de rejeição, manter o deslocamento do conteúdo "retrocedendo" e executar minha animação?

questionAnswers(2)

yourAnswerToTheQuestion