У меня есть несколько UIScrollView
на странице. Вы можете прокручивать их самостоятельно или блокировать их вместе и прокручивать их как один. Проблема возникает, когда они заблокированы.
Я использую UIScrollViewDelegate
и scrollViewDidScroll:
для отслеживания движения. Я запрашиваю contentOffset
из UIScrollView
, который был изменен, а затем отразил изменения в других видах прокрутки, установив их свойство contentOffset
в соответствие.
Великий.... кроме того, что я заметил много дополнительных звонков. Программное изменение contentOffset
моих представлений прокрутки запускает метод делегата scrollViewDidScroll:
для вызова. Я попытался использовать setContentOffset:animated:
вместо этого, но я все еще получаю триггер на делетете.
Как я могу программным образом модифицировать свои программные объекты контента, чтобы не запускать scrollViewDidScroll:
?
Замечания по реализации....
Каждый UIScrollView
является частью пользовательского UIView
, который использует шаблон делегирования для обратного вызова к представляющему подклассу UIViewController
, который обрабатывает координаты различных значений contentOffset
.