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