Отмена отказов UIScrollView после перетаскивания
У меня есть горизонтальный UIScrollView. Я хочу сделать вариант анимации «тянуть к сбросу», где я вытаскиваю весь правый край размера содержимого представления прокрутки, освобождаю палец и возвращаю вид прокрутки к (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, затем происходит моя анимация.
Есть ли способ отменить анимацию отказов, не допустить смещения контента назад и затем выполнить мою анимацию?