Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Больше не будет делегата scrollViewDidEndScrollingAnimation после отскока

Автор вопроса: thierrybОтветов: 1

Мой UIScrollView ведет себя странно. Контроллер представления является делегатом моего UIScroll, во время прокрутки я получаю scrollViewDidScroll и scrollViewDidEndScrollingAnimation. Все работает. Но когда представление прокрутки отскакивает, я больше не получаю scrollViewDidEndScrollingAnimation, но все еще получаю scrollViewDidScroll ...

У тебя есть идея?

Большое спасибо.

Тьерри

iphoneuiscrollview

Ответы

Ответ 1 · рейтинг 1 · Andrey Tarantsov

Аналогично ведет себя при масштабировании. Я исправил это в моем компоненте ZoomScrollView, установив таймер. Для вас должно работать следующее:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(_zoomDidEndBouncing) object:nil];
    [self performSelector:@selector(_zoomDidEndBouncing) withObject:nil afterDelay:0.1];
}

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView {
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(_zoomDidEndBouncing) object:nil];
    [self performSelector:@selector(_zoomDidEndBouncing) withObject:nil afterDelay:0.1];
}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы