Отмена отказов UIScrollView после перетаскивания

У меня есть горизонтальный UIScrollView. Я хочу сделать вариацию "тянуть к сбросу» анимация, где я перетаскиваю весь край правого края прокруткиs размер содержимого, отпустите мой палец, и вид прокрутки вернется к (0, 0) смещению содержимого.

Мой метод делегата выглядит так:

- (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)];
    }
}

гдеdoAnimatedScrollTo: это пользовательский метод анимации, необходимый, потому что я хочу контролировать продолжительность анимации.

Хотя это работает, похоже, что анимация поставлена в очередь. UIScrollView "подпрыгивать» Сначала происходит анимация, затем происходит моя анимация.

Есть ли способ отменить анимацию отказов, сохранить смещение контента от "щелкающий» назад, а затем выполнить мою анимацию?

Ответы на вопрос(2)

Ваш ответ на вопрос