Я посмотрел на UIScrollView. Любые мысли о реализации "бесконечной" прокрутки / масштабирования? , но это не совсем решило мою проблему. Однако я озадачен, потому что думаю, что другие люди не видели мою проблему, поэтому, возможно, это связано с подробностями моего кода. Пример кода, предоставленного Allisone, похож на мой, хотя я использую scrollViewDidScroll для мониторинга contentOffset вместо пользовательского подхода KVO.
Когда мой UIScrollView замедляется, если я вставляю подпредставление слева от границ UIScrollView и увеличиваю contentOffset на ширину моего вставленного подпредставления, мое изменение в contentOffset игнорируется; содержимое «перепрыгивает» на ширину вставленного подпредставления, и поток значений contentOffset продолжает свою текущую траекторию при последующих вызовах scrollViewDidScroll. При простом отслеживании проблем нет. Есть ли что-то, что я, вероятно, делаю не так? Это почти как если бы bounds или contentOffset были привязаны к событиям замедления.
Вариант использования: UIScrollView имеет очень большой виртуальный контент, который динамически перемещается по страницам, а когда пользователь плавно прокручивает содержимое в UIScrollView (скажем, влево), дополнительный контент должен быть вставлен в крайнее левое положение прокрутки без нарушения плавной прокрутки, которая в настоящее время происходит. Как я уже сказал, это прекрасно работает, если замедление отключено или я полагаюсь на перетаскивание, а не на щелчок.
Сначала я надеялся, что проблема была вызвана изменением содержимого UIScrollView из выноски на scrollViewDidScroll, поэтому я дважды проверил, выполнив задержанный executeSelector, но проблема осталась.
Спасибо,
Kevin