测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布日期最后发布日期 | 2017年8月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
![]() | ![]() |
![]() | ![]() |
该项目高度参考了 JHChainableAnimations,如果您是用 Objective-C 开发的项目,使用 JHChainableAnimations 代替。
使用 DKChainableAnimationKit,您不需要写入 附加括号。
view.animation.makeScale(2.0).spring.animate(1.0)
use_frameworks!
pod "DKChainableAnimationKit", "~> 2.0.0"
github "Draveness/DKChainableAnimationKit"
在合适的位置导入 DKChainableAnimationKit。
import DKChainableAnimationKit
DKChainableAnimationKit 被设计成极易使用。首先在 UIView
实例上调用 animation
方法,然后添加想要添加的动画,接着是 animate(t)
方法。
view.animation.moveX(100.0).animate(1.0)
必须将链式属性或函数,例如 moveX(x),放在 animate(duration) 函数之间。
view.animation.moveX(100.0).animate(1.0)
如果您想一次执行多个动画。
view.animation.moveX(100.0).moveY(100.0).animate(1.0)
这将使视图同时向右移动100点,向下移动100点。顺序并不重要。
要链接动画,使用 thenAfter(duration) 函数分隔链。
view.animation.moveX(100.0).thenAfter(1.0).makeScale(2.0).animate(2.0)
这将使视图移动一秒,然后移动后缩放两秒。
要添加动画效果,在想要应用效果的链式属性之后调用效果方法。
下面是一个使用弹性效果的移动视图的示例。
view.animation.moveX(10).spring.animate(1.0)
如果您添加了两个动画效果,第一个将被取消。
view.animation.moveX(10).spring.bounce.animate(1.0)
// The same as view.animation.moveX(10).bounce.animate(1.0)
在动画链中的某个点调用定位方法来定位视图。如果添加了两个定位属性,第一个将被取消,如同效果。
view.animation.rotate(180).anchorTopLeft.thenAfter(1.0).rotate(90).anchorCenter.animanimation
要延迟动画,请调用 wait(time)
或 delay(time)
链式函数。
view.animation.moveXY(100, 40).wait(0.5).animate(1.0)
view.animation.moveXY(100, 40).delay(0.5).animate(1.0)
delay
这将延迟0.5秒后移动视图。
如果您希望在动画完成后运行代码,您需要设置animationCompletion
属性或调用animateWithCompletion(t, completion)
函数。
view.animation.makeX(0).animateWithCompletion(1.0, {
println("Animation Done")
})
这与...
view.animation.animationCompletion = {
println("Animation Done")
}
view.animation.makeX(0).animate(1.0)
同时,这也与...
view.animation.makeX(0).animate(1.0).animationCompletion = {
println("Animation Done")
}
您也可以沿着一个UIBezierPath动画视图。首先调用bezierPathForAnimation
方法,然后向其中添加点或曲线,并在链式属性中使用它。
let path = view.animation.bezierPathForAnimation()
path.addLintToPoint(CGPoint(x: 30, y: 40))
view.animation.moveOnPath(path).animate(1.0)
动画效果不适用于路径移动。
DKChainableAnimationKit在MIT许可证下提供。有关更多信息,请参阅LICENSE文件。