ShapeAnimation-SwiftSwift 矢量动画框架
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()
评论