KRTimingFunction 1.1.0

KRTimingFunction 1.1.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布上次发布2019年10月
SPM支持 SPM

Josh Woomin ParkJosh Woomin Park 维护。



  • Josh Woomin Park

KRTimingFunction

[![CI Status](http://img.shields.io/travis/Joshua Park/KRTimingFunction.svg?style=flat)](https://travis-ci.org/Joshua Park/KRTimingFunction) Version License Platform

简介

KRTimingFunction 是一组时间函数,从 JQuery 时间函数 中移植而来。

示例

要运行示例项目,首先克隆仓库,然后从示例目录运行 pod install

安装

KRTimingFunction可以通过CocoaPods来获得。为了安装它,只需要在您的Podfile中添加以下行

pod 'KRTimingFunction', :git => 'https://github.com/BridgeTheGap/KRTimingFunction.git'

用法

函数列表

线性

easeInSine easeOutSine easeInOutSine

easeInQuad easeOutQuad easeInOutQuad

easeInCubic easeOutCubic easeInOutCubic

easeInQuart easeOutQuart easeInOutQuart

easeInQuint easeOutQuint easeInOutQuint

easeInExpo easeOutExpo easeInOutExpo

easeInCirc easeOutCirc easeInOutCirc

easeInElastic easeOutElastic easeInOutElastic

easeInBack easeOutBack easeInOutBack

easeInBounce easeOutBounce easeInOutBounce

更多解释和这些函数的视觉表示可以在Easings找到。

如何使用

大多数定时函数可以通过以下语法进行调用

// TimingFunction.(functionName)(rt: Double, b: Double, c: Double)
TimingFunction.linear(rt: 0.5, b: 0.0, c: 100.0)
  • rt:相对时间(相对于整个动画持续时间的进度,用于计算值。)在上面的例子中,如果动画的整个持续时间是2秒,函数将返回1秒标记的值,即整个动画时间的0.5。

  • b:初始值。在上面的例子中,如果动画正在渲染视图的origin.x,视图将从0.0开始。

  • c:值变化(结束值 - 初始值)。在上面的例子中,如果动画正在渲染视图的origin.x,视图将结束于100.0。

  • (KRTimingFunction使用相对时间而不是绝对持续时间和绝对当前时间的原因是它最初打算与UIView.addKeyframeWithRelativeStartTime(_:, relativeDuration:, animations:)一起使用。此外,原始jQuery函数将绝对持续时间和绝对当前时间转换为相对时间以执行大多数函数。)

异常情况是弹性函数: easeInElasticeaseOutElasticeaseInOutElastic。这些函数除了上述参数外,还需要绝对的持续时间。

// TimingFunction.(functionName)(rt: Double, b: Double, c: Double, d: Double)
TimingFunction.easeInElastic(rt: 0.5, b: 0.0, c: 100.0, d: 2.0)
  • d:绝对持续时间(秒)。如果动画持续时间为2.0秒,应将 2.0 作为参数传递。

作者

Josh Woomin Park,[email protected]

许可证

KRTimingFunction项目受MIT许可证保护。更多详情请参阅LICENSE文件。