iOS8 Spring Animation

自 iOS 8 开始,Apple 公开了 Spring Animation 的 API,开发者也可以使用简单的代码创建这类动画效果了:
+ (void)animateWithDuration:(NSTimeInterval)duration
                      delay:(NSTimeInterval)delay
     usingSpringWithDamping:(CGFloat)dampingRatio
      initialSpringVelocity:(CGFloat)velocity
                    options:(UIViewAnimationOptions)options
                 animations:(void (^)(void))animations
                 completion:(void (^)(BOOL finished))completion
该方法是 UIView 的类方法。
Spring Animation 的 API 和一般动画相比多了两个参数,分别是 usingSpringWithDamping 和 initialSpringVelocity
dumping ratio
usingSpringWithDamping 的范围为 0.0f 到 1.0f ,数值越小「弹簧」的振动效果越明显。下图演示了在 initialSpringVelocity 为 0.0f 的情况下, usingSpringWithDamping 分别取 0.2f , 0.5f 和 1.0f的情况。
initial velocity
initialSpringVelocity 则表示初始的速度,数值越大一开始移动越快。下图演示了在 usingSpringWithDamping 为 1.0f 时, initialSpringVelocity 分别取 5.0f , 15.0f 和 25.0f 的情况。值得注意的是,初始速度取值较高而时间较短时,也会出现反弹情况。

评论

发表评论

此博客中的热门博文

使__attribute__((annotate("xxx")))能作用于OC函数

viewWillAppear不执行的解决办法

iOS中使用xpc/xpc.h