为`CAAnimation`添加了一个类别,该类别提供了一些缓动方程,为您的应用添加了一些动态效果(附带示例!)
因为给动画添加缓动可以使它们变得更加逼真。UIKit提供了一组非常有限的缓动函数,所以我添加了更多。
Easings.net提供了一些示例和进一步的解释。
将`pod 'CAAnimation-EasingEquations'`添加到您的Podfile中
由于这是基于CoreAnimation,动画将应用于`CALayer`对象。例如,若要将`UIView`在1秒内变为完全透明,执行的代码如下
[CAAnimation addAnimationToLayer:animatedView.layer
withKeyPath:@"opacity"
duration:1
to:0
easingFunction:CAAnimationEasingFuctionEaseInBounce];
在此示例中,将使用bounce ease-in函数。
与上面类似,如果我们想要应用变换到`animatedView`上,我们可以这样做
CATransform3D tr;
tr = CATransform3DMakeScale(2.5, 2.5, 1.0);
tr = CATransform3DTranslate(tr, 95, 0, 0);
[CAAnimation addAnimationToLayer:animatedView.layer
duration:1
transform:tr
easingFunction:CAAnimationEasingFuctionEaseOutBack];
这将使`animatedView`在1秒内放大到其当前大小的2.5倍,并将其移动95px向右。
包括两个示例项目以说明该类别的使用。
这说明不同的缓动函数。这是在添加CATransform3D动画功能之前编写的,因此所有动画都使用关键路径执行。
这是说明CATransform3D添加的内容。有两个表格,每个都有一个滑动手势识别器。滑动,它们就会动起来。神奇!
CAAnimation+EasingEquations
遵循MIT许可证。如果您在其项目中使用它,请给予适当的致谢,例如在某个地方写上“感谢”。如果您使用了我的代码,也请告诉我!请参阅LICENSE文件以获取完整的许可文本。