ShapeAnimation-SwiftSwift 矢量动画框架

联合创作 · 2023-09-27 05:52

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()


浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报