SPEasingCurves 1.0

SPEasingCurves 1.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

Sergio Padrino 维护。




  • Sergio Padrino

SPEasingCurves只是一些可以从easings.net使用的定时函数,您可以使用它们在您的CoreAnimationPop动画中。

SPEasingCurves example

如果您想与Pop一起使用,您可能至少需要 1.0.7 版本,该版本包括我提交的对于超过1.0的定时函数的修复,这使得动画提前结束。

安装 SPEasingCurves

  1. 使用 CocoaPods

    将 SPEasingCurves 添加到您的 Podfile

    platform :ios, "6.0"
    pod 'SPEasingCurves'

    运行以下命令

    pod install
    
  2. 手动

    SPEasingCurves.hSPEasingCurves.m 两个文件复制到您的项目中,或者将此仓库作为子模块添加,然后拖动整个 SPEasingCurves 文件夹到您的项目中。

    之后,您可以简单地这样做

      #import "SPEasingCurves.h"

使用 SPEasingCurves

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:,它给定前一个枚举的值,返回一个合适的定时函数,可以用在动画中。

与 CoreAnimation 动画一起

只需在您的动画中设置合适的定时函数即可

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"];

与 Pop 动画一起

完全一样,但使用的是 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中的缓动曲线。

贡献

如果您想为此项目做出贡献,请按照以下步骤操作

  1. 克隆仓库。
  2. 将您的分支克隆到您的本地机器。
  3. 创建您的功能分支。
  4. 提交您的更改,推送回您的分支,并提交一个拉取请求。

许可证

SPEasingCurves 可以在 MIT 许可证下使用。有关更多信息,请参阅LICENSE 文件