测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017 年 10 月 |
SwiftSwift 版本 | 4.0 |
SPM支持 SPM | ✗ |
由 i am heart 维护。
SwiftTween 是一个轻量级的值变化器,易于使用。
要运行示例项目,首先克隆仓库,然后在 Example 目录中运行 pod install
。
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 文件。