первый вопрос здесь, будь мил: P
Я пытаюсь создать бесконечный UIScrollView (я использовал демонстрационный проект Apple "StreetScroller"). Когда UIScrollView находится почти в конце contentSize, contentOffset устанавливается в центр contentSize, и все подпредставления перемещаются, чтобы он был прозрачным для пользователя.
Это работает правильно, когда вы прокручиваете медленно, но когда вы прокручиваете слишком быстро и когда вы достигаете конца UIScrollView, все становится странным.
В моем случае я использую UIScrollView с frame.size.width = 320 и contentSize.x = 3 * frame.size.width.
И это то, что происходит в журналах, когда вы выполняете слишком быструю прокрутку и достигаете конца contentSize (например, если x> 560 при прокрутке вправо):
-> UIScrollView прокручивается из-за инерции
SetContentOffset called width x : 504.730072
SetContentOffset called width x : 516.878967
SetContentOffset called width x : 528.489990
SetContentOffset called width x : 540.347656
SetContentOffset called width x : 550.754028
SetContentOffset called width x : 561.200378
-> UIScrollView доходит до конца contentSize, поэтому мы переходим к центру
The next call of setContentOffset is for recentering the view
SetContentOffset called width x : 320.000000
-> Проблема в том, что UIScrollView не принимает изменения contentOffset.x в учетную запись, он продолжает анимацию с последним использованным значением contentOffset.x ....
SetContentOffset called width x : 571.421753
The next call of setContentOffset is for recentering the view
SetContentOffset called width x : 320.000000
SetContentOffset called width x : 581.283447
The next call of setContentOffset is for recentering the view
SetContentOffset called width x : 320.000000
SetContentOffset called width x : 610.100952
И это продолжается до тех пор, пока не закончится анимация.
Если у кого-то есть решение для установки contentOffset и принудительного UIScrollView для обновления его анимации:)
Я прочитал почти всю тему на stackoverflow и других веб-сайтах о бесконечном UIScrollView, и я не увидел ни одного рабочего решения, чтобы изменить contentOffset во время анимации, и я попытался переназначить все разные методы делегата UIScrollView. И я не хочу изменять contentSize во время прокрутки (это работает только тогда, когда вы прокручиваете справа или бот ...)