SPEasingCurves只是一些可以从easings.net使用的定时函数,您可以使用它们在您的CoreAnimation和Pop动画中。
如果您想与Pop一起使用,您可能至少需要 1.0.7 版本,该版本包括我提交的对于超过1.0的定时函数的修复,这使得动画提前结束。
使用 CocoaPods
将 SPEasingCurves 添加到您的 Podfile
platform :ios, "6.0"
pod 'SPEasingCurves'
运行以下命令
pod install
手动
将 SPEasingCurves.h
和 SPEasingCurves.m
两个文件复制到您的项目中,或者将此仓库作为子模块添加,然后拖动整个 SPEasingCurves 文件夹到您的项目中。
之后,您可以简单地这样做
#import "SPEasingCurves.h"
在 SPEasingCurves.h
中有一个包含所有可用缓动曲线的枚举
typedef NS_ENUM(NSInteger, SPEasingCurve) {
SPEasingCurveEaseInSine,
SPEasingCurveEaseOutSine,
SPEasingCurveEaseInOutSine,
SPEasingCurveEaseInQuad,
SPEasingCurveEaseOutQuad,
SPEasingCurveEaseInOutQuad,
SPEasingCurveEaseInCubic,
SPEasingCurveEaseOutCubic,
SPEasingCurveEaseInOutCubic,
SPEasingCurveEaseInQuart,
SPEasingCurveEaseOutQuart,
SPEasingCurveEaseInOutQuart,
SPEasingCurveEaseInQuint,
SPEasingCurveEaseOutQuint,
SPEasingCurveEaseInOutQuint,
SPEasingCurveEaseInExpo,
SPEasingCurveEaseOutExpo,
SPEasingCurveEaseInOutExpo,
SPEasingCurveEaseInCirc,
SPEasingCurveEaseOutCirc,
SPEasingCurveEaseInOutCirc,
SPEasingCurveEaseInBack,
SPEasingCurveEaseOutBack,
SPEasingCurveEaseInOutBack,
SPEasingCurveCount
};
然后在 SPEasingCurves
类中有一个类方法 timingFunctionForEasingCurve:
,它给定前一个枚举的值,返回一个合适的定时函数,可以用在动画中。
只需在您的动画中设置合适的定时函数即可
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position.x"];
animation.fromValue = @(0.f);
animation.toValue = @(200.f);
animation.duration = 1.f;
animation.timingFunction = [SPEasingCurves timingFunctionForEasingCurve:SPEasingCurveEaseInOutBack];
[self.animatingView.layer addAnimation:animation forKey:@"myAnimation"];
完全一样,但使用的是 POPAnimation
实例
POPBasicAnimation *animation = [POPBasicAnimation animationWithPropertyNamed:kPOPViewFrame];
animation.fromValue = @(0.f);
animation.toValue = @(200.f);
animation.duration = 1.f;
animation.timingFunction = [SPEasingCurves timingFunctionForEasingCurve:SPEasingCurveEaseInOutBack];
[self.animatingView pop_addAnimation:animation forKey:@"myAnimation"];
SPEasingCurves 由 Sergio Padrino 创建:@sergiou87,基于easings.net中的缓动曲线。
如果您想为此项目做出贡献,请按照以下步骤操作
SPEasingCurves 可以在 MIT 许可证下使用。有关更多信息,请参阅LICENSE 文件。