DKChainableAnimationKit 2.0.1

DKChainableAnimationKit 2.0.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布日期最后发布日期2017年8月
SwiftSwift 版本3.0
SPM支持 SPM

Dravenessdraveness 维护。



  • Draveness

该项目高度参考了 JHChainableAnimations,如果您是用 Objective-C 开发的项目,使用 JHChainableAnimations 代替。

使用 DKChainableAnimationKit

使用 DKChainableAnimationKit,您不需要写入 附加括号

view.animation.makeScale(2.0).spring.animate(1.0)

Podfile

use_frameworks!

pod "DKChainableAnimationKit", "~> 2.0.0"

Cartfile

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)

动画效果不适用于路径移动。


链式属性

moveX(100.0)
moveY(100.0)
moveWidth(100.0)
moveHeight(100.0)
moveXY(100.0, 100.0)
makeX(100.0)
makeY(100.0)
makeOrigin(100.0, 100.0)
makeCenter(100.0, 100.0)
makeWidth(100.0)
makeHeight(100.0)
makeSize(100.0, 100.0)
makeFrame(rect) // let rect: CGRect
makeBounds(rect) // let rect: CGRect
makeScale(2.0)
makeScaleX(2.0)
makeScaleY(2.0)
makeOpacity(0.0)
makeBackground(purple) // let purple: UIColor
makeBorderColor(red) // let red: UIColor
makeBorderWidth(10.0)
makeCornerRadius(25.0)

待办事项

  • 支持OS X
  • 支持Swift 2.0


联系

  • 如果您有任何建议,请打开一个问题或PR。
  • Email [Draveness](mailto: [email protected]?subject=DKChainableAnimationKit)

许可证

DKChainableAnimationKit在MIT许可证下提供。有关更多信息,请参阅LICENSE文件。