0
我想放慢由我的UIDynamicAnimator生成的动画效果,这样我就可以微调我的UIDynamicBehaviors。放慢UIDynamicAnimator的动画效果
在ios模拟器中,在调试菜单下有一个菜单选项,标记为“在最前面的应用程序中切换慢速动画”。
但是,此选项似乎对UIDynamicAnimator生成的动画没有影响。有其他方法可以实现我的目标吗?
我想放慢由我的UIDynamicAnimator生成的动画效果,这样我就可以微调我的UIDynamicBehaviors。放慢UIDynamicAnimator的动画效果
在ios模拟器中,在调试菜单下有一个菜单选项,标记为“在最前面的应用程序中切换慢速动画”。
但是,此选项似乎对UIDynamicAnimator生成的动画没有影响。有其他方法可以实现我的目标吗?
您可以改变您在动画中指定的力量,从而导致移动速度变慢。例如,你可以改变重力的大小,以加速减缓:
self.animator = UIDynamicAnimator(referenceView: self.view)
var gravity = UIGravityBehavior(items: [animatedView])
gravity.magnitude = 0.5
如果你已经碰撞回事,你也可能会增加摩擦和/或弹性慢下来,但在某些情况下,这可能影响轨迹:
let bounceProperties = UIDynamicItemBehavior(items: [animatedView])
bounceProperties.elasticity = 0.5
bounceProperties.friction = 0.2
var collision = UICollisionBehavior(items: [animatedView])
var boundaryId: NSMutableString = NSMutableString(string: "bottomBoundary")
let boundaryPath = UIBezierPath(rect: boundaryFrame)
collision.addBoundaryWithIdentifier(boundaryId, forPath: boundaryPath)
// Start animating
animator.addBehavior(gravity)
animator.addBehavior(collision)
animator.addBehavior(bounceProperties)
难道你不能只用更长的持续时间用于执行动画的动画块(你使用animateWithDuration:....方法之一)吗? – rdelmar 2014-09-28 17:06:10
不,我没有直接使用动画,因为UIDynamicAnimator为我做了。 – benvolioT 2014-10-28 14:03:15