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?