SwiftTween 0.1.1

SwiftTween 0.1.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017 年 10 月
SwiftSwift 版本4.0
SPM支持 SPM

i am heart 维护。



  • 作者
  • i am Heart




SwiftTween 是一个轻量级的值变化器,易于使用。

示例

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

示例项目

SwiftTween Example app

要求

Swift 4.0

安装

SwiftTween 通过 CocoaPods 提供。要安装
它,只需将以下行添加到您的 Podfile 中。

pod 'SwiftTween'

示例

let view = UIView()
view.layer.backgroundColor = UIColor.red.cgColor
view.frame = CGRect(x: 0, y: 0, width: 100, height: 100)

let t = SwiftTween()
        
t.onUpdate = {
    (value:Double,timePassed:Double,finish:Bool)->Void in

    let f = self.view.frame

    view.frame = CGRect(x:CGFloat(value-20) ,
                            y:CGFloat(200-value),
                            width:f.size.width,
                            height:f.size.height)

    if finish {
    	print("Tween Finished")
    }else{
    	print("Time Passed > \(timePassed)")
    }

}

t.tween(startValue:0, endValue:200 , timeDuration:1 , ease:Ease.Linear )

您可以在时间线上任何位置获取缓动值

let duration = 20
let currentTime = 10
let beginningValue = 0
let finalValue = 100

let value_At_Half_Of_Timeline = EasingFunction.getValue( 
				ease:Ease.Linear, 
				currentTime: currentTime, 
				beginningValue: beginningValue, 
				finalValue: finalValue , 
				totalDuration:duration )

print( value_At_Half_Of_Timeline ) //print 50 because it's a Linear easing

您也可以获取时间线上任何位置值的比率

let timelineRatio = 0.5

let value_Ratio_At_Half_Of_Timeline = EasingFunction.getRatio(ease:Ease.Linear,  timeRatio:timelineRatio )

print( value_At_Half_Of_Timeline ) //print 0.5 because it's a Linear easing

缓动类型

Ease.Linear
Ease.InQuad
Ease.OutQuad
Ease.InOutQuad
Ease.InCubic
Ease.OutCubic
Ease.InOutCubic
Ease.InQuart
Ease.OutQuart
Ease.InOutQuart
Ease.InQuint
Ease.OutQuint
Ease.InOutQuint
Ease.InSine
Ease.OutSine
Ease.InOutSine
Ease.InExpo
Ease.OutExpo
Ease.InOutExpo
Ease.InCirc
Ease.OutCirc
Ease.InOutCirc
Ease.InElastic
Ease.OutElastic
Ease.InOutElastic
Ease.InBack
Ease.OutBack
Ease.InOutBack
Ease.InBounce
Ease.OutBounce
Ease.InOutBounce

作者

i am Heart, [email protected]

许可证

SwiftTween 遵循 MIT 许可证。有关更多信息,请参阅 LICENSE 文件。