на мой взгляд, iPhone имеет большое преимущество для других смартфонов из-за его интуитивно понятных, гладких и хороших прокручивающих компонентов в UIKit. Я хочу реализовать простую игру с UIKit, которая использует этот вид прокрутки, но я не могу использовать UIScrollView, потому что он не настраивается достаточно.Как работает UIScrollView как прокрутка?
Я пытался реализовать эту прокрутку себя и попытался два различных подхода:
Я использовал унд UIPanGestureRecognizer переместили границы моего таможенного контроля в соответствии с переводом распознаватель доставляет мне. Чтобы получить эту гладкую прокрутку после поднятия пальца во время движения, я начинаю анимацию. Я использую скорость, которую распознаватель дает мне и фиксированное время, чтобы рассчитать, как далеко она должна прокручиваться после того, как я поднял палец. Я попробовал линейное движение и легкое движение, но оба выглядят странно. (позже)
Я использую OnTouchMoved и OnTouchEnded для реализации прокрутки. В OnTouchMove я перемещаю границы в соответствии с движением пальца. Пока движется палец, я вычисляю разницу в местоположении и времени текущего и последнего касания, чтобы вычислить скорость самостоятельно. Когда палец поднимается, я запускаю анимацию в OnTouchEnded, как в 1. но вместо этого использую свою самовычислимую скорость.
Оба подхода не дают мне результатов, которые я хочу. После поднятия пальца прокрутка плавно продолжается. Кажется, что (резкий) изгиб кривой чистоты.
Есть ли у кого-нибудь представление о том, как яблоко делает эту гладкую прокрутку? Моя нынешняя гипотеза заключается в том, что моя интерполяция с двумя действительно близкими точками является неточной и не учитывает текущее ускорение.
Thx для ваших мыслей! Kie