ShapeAnimation-Swift - Swift 矢量动画框架


GPL
iOS
Swift

软件简介

iOS上使用Swift实现的矢量图形动画框架,可动画绘图。

特点是可写少量代码实现常见的CoreAnimation层动画,利用闭包定制动画特性。

目前已支持下列动画函数:

  • opacityAnimation, flashAnimation 透明度、闪烁

  • scaleAnimation 放缩

  • rotate360Degrees, rotationAnimation 旋转

  • shakeAnimation 左右摇晃

  • moveAnimation, moveOnPathAnimation 沿路径移动

  • slideToRight 向右滑动

  • strokeEndAnimation 沿线描绘

strokeColorAnimation, lineWidthAnimation, dashPhaseAnimation
线条颜色、线宽动画,虚线动画可用于亮显选择

  • switchPathAnimation 切换图形

  • animationGroup 一个层多个动画同时进行

  • applyAnimations 多个层同步动画

该框架还在不断更新中,欢迎Fork、点赞,欢迎动手和提建议。

代码示例:

let layer1 = addLinesLayer(view, points:[(10.0,20.0),(150.0,40.0),(120.0,320.0)])
layer1.strokeEndAnimation().apply() {
    layer1.shakeAnimation().apply()
}
let la2 = self.addLinesLayer(view, points:points2, color: UIColor.blueColor())
lla2.scaleAnimation(from:1, to:1.1, repeatCount:3).apply(duration:0.3)
let la3 = self.addLinesLayer(view, points:points3, color: UIColor.greenColor())
la3.flashAnimation(repeatCount:6).apply()
let la4 = addLinesLayer(view, points:[(10.0,20.0), (150.0,40.0), (120.0,120.0)])
let a1 = la4.moveOnPathAnimation(path).set {$0.duration=1.6}
let a2 = la4.rotate360Degrees().set {$0.repeatCount=2}
animationGroup([a1, a2]).set {$0.autoreverses=true}.apply()