如何使用UIPushBehavior以相同的速度推送动态对象?

时间:2019-01-12 13:39:39

标签: swift uidynamicanimator magnitude uipushbehavior

我不是物理学专家。但是,我想移动具有动态高度(取决于内容)的UILable,就像 teleprompter 。但是,当我从10级开始进行行为时,它开始移动,但突然间速度变慢,我希望以相同的速度连续向上移动。

下面是我的代码:

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

lblText大小为375 * 1500

1 个答案:

答案 0 :(得分:2)

乔什是对的,尝试增加摩擦和阻力。 要增加摩擦,您必须创建UIDynamicItemBehavior

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

使用执行动画所需的项目来创建它。

然后您可以为其增加摩擦力和阻力

behavior.friction = 0
behavior.resistance = 0

最后将行为添加到动画师

animator.addBehavior(behavior)

让我知道这是否可行,很乐意提供帮助。