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