我正在尝试在用户的平移手势释放的视图上执行弹簧动画,并且可能具有非零速度。我基本上试图重新创建使用UISpringTimingParameters(dampingRatio:initialVelocity:)
的{{3}}动画。然而,this WWDC video似乎自相矛盾:
速度
动画的初始速度和方向,指定为单位矢量。
[...]
例如,如果总动画距离为200点且视图的初始速度为每秒100点,请指定幅度为
0.5
的矢量。
如果0.5
是一个示例值,那么显然它毕竟不需要是单位向量。并且首先不可能在单位矢量中编码速度。
无法依赖文档,我尝试插入几个不同的值,但没有任何结果可以产生令人满意的结果。
如何使用此API?
答案 0 :(得分:0)
好问题。
TL; DR:如果您尝试将某些内容设置为2D中的某个位置,则需要分别为每个坐标设置动画,每个坐标都具有相应的x / y速度。
如果你通过将速度的标量投影放到你的偏移上来组合它们,你会得到一个奇怪的神器,假设在屏幕周围轻弹一个视图的上下文,目标是屏幕的中心,你正在轻弹右侧的视图,因为动画要返回到中心,并且由于组合的速度远离中心,动画只能假设主体在远离中心的直线上移动,它将会在动画回到中心之前向右移动。