Как протолкнуть динамический объект с той же скоростью, используя UIPushBehavior?

Я не специалист по физике. Тем не менее, я хочу переместить UILable, который имеет динамическую высоту (зависит от содержимого), как телесуфлер. Но когда я начинаю поведение с величиной 10, он начинает двигаться, но внезапно начинает замедляться, и я хочу непрерывного движения вверх с той же скоростью.

Ниже мой код:

push = UIPushBehavior(items: [lblText], mode: .instantaneous)
push.setAngle(-.pi/2, magnitude: 10)
animator.addBehavior(push)

Размер текста - 375*1500

1 ответ

Решение

Джош прав, попробуйте добавить трение и сопротивление. Чтобы добавить трение, вам нужно создать UIDynamicItemBehavior

let behavior = UIDynamicItemBehavior.init(items: [lblText])

Создайте это с элементами, которые вам нужны для анимации.

Тогда вы можете добавить трение и сопротивление к нему

behavior.friction = 0
behavior.resistance = 0

И, наконец, добавить поведение аниматора

animator.addBehavior(behavior)

Дайте мне знать, если это работает, рад помочь.

Другие вопросы по тегам