JNWSpringAnimation 0.7.1

JNWSpringAnimation 0.7.1

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2015年5月

Jonathan Willing维护。



  • Jonathan Willing

JNWSpringAnimationCAKeyframeAnimation 的子类,它增加了创建阻尼谐波动画的支持。

入门

虽然 JNWSpringAnimationCAKeyframeAnimation 的子类,但它应该被视为 CABasicAnimation 的子类。

要入门,请将四个源文件复制到您的项目中。

可以通过使用专用初始化器 +animationWithKeyPath: 来创建动画。或者,可以使用 +animation 创建动画,然后设置键路径。当前可适配的动画属性列表位于头文件中。

JNWSpringAnimation *animation = [JNWSpringAnimation animationWithKeyPath:@"position.x"];

接下来,必须设置 fromValuetoValue 属性,以便正确计算插值值。

animation.toValue = @(toX);
animation.fromValue = @(currentX);

最后,可以可选地更改弹簧常数的值。目前,可以修改的是 stiffnessdampingmass

animation.mass = 30; // this will move extremely slowly
// and so on

动画本身可以像任何其他 CAAnimation 子类一样应用,即在任何 CALayer 上使用 -addAnimation:forKey:

这是为了什么?

这是在我的愿望中创建的,我希望有一个开源的 (目前是私人) CASpringAnimation 版本,这是在 iOS 6 中发现的。

在手合适的情况下,弹簧动画可以通过将物理模拟与界面相连接,真正增强用户对应用程序的感受。此外,谁不喜欢摆弄弹簧呢?

还剩下什么要做?

我创建了这个周末项目,所以实现仍然有一些未完成。与 CASpringAnimation 相比,velocity 属性仍然未实现。欢迎提交 pull 请求。

许可

JNWSpringAnimation 根据 MIT 许可证授权。请见 LICENSE.md

联系方式

您可以在 @willing 上关注我,通过 GitHub 上的邮箱联系我,或在我 jwilling.com 的博客上阅读我的文章。