如何5分钟上手Anima:iOS动画库安装配置与第一个链式动画完整指南

📅 2026/8/24 17:32:34
如何5分钟上手Anima:iOS动画库安装配置与第一个链式动画完整指南
如何5分钟上手AnimaiOS动画库安装配置与第一个链式动画完整指南【免费下载链接】AnimaAnima is chainable Layer-Based Animation library for Swift5.项目地址: https://gitcode.com/gh_mirrors/anim/AnimaAnima 是一款专为 iOS 打造的Swift 链式动画库Chainable Layer-Based Animation Library它基于 CALayer 封装让开发者用类似接龙的链式写法轻松实现顺序动画、分组并行动画以及复杂的位移、旋转、缩放、透明度过渡效果。只需 iOS 9.0 和 Swift 4 以上环境三分钟完成安装几行代码就能跑起第一个动画。本文将带你走完安装配置 → 第一个链式动画 → 常用选项配置 → 运行官方示例的完整流程。为什么选择 Anima iOS 动画库原生 Core Animation 写复杂动画时需要手动创建CAAnimationGroup、管理beginTime偏移、处理完成回调代码繁琐且容易出错。Anima 把这些细节全部收进一条优雅的链子中链式 API.then()一路串联代码即时间轴直观易读顺序 分组动画.then(group:)一步实现多个动画同时执行⏱️丰富缓动函数覆盖主流缓动曲线还支持 Spring 弹簧动画类型安全内置 KeyPath 与动画类型编译期即可检查错误零依赖、MIT 协议核心源码全部位于 Sources 目录轻量无负担三种方式安装配置 Anima 动画库Anima 支持 CocoaPods、Carthage 和 Swift Package Manager 三种主流安装方式任选其一即可。方式一CocoaPods 安装推荐在项目的Podfile中添加pod Anima然后执行pod install完成安装。版本信息定义在 Anima.podspec 中。方式二Carthage 安装将 Anima 仓库地址加入项目的Cartfile再执行carthage update即可。方式三Swift Package Manager 安装项目自带 Package.swift要求 swift-tools 5.5最低 iOS 9在 Xcode 中通过File → Add Packages添加即可。 安装完成后在需要动画的文件顶部import Anima一切就绪。3行代码写出第一个链式动画Anima 的核心思想拿到 view 的 layer用anima拿到动画链.then()追加动画.fire()发射。最简单的位移动画只需 3 行layer.anima .then(.moveByX(50)) .fire()常用动画类型定义在Sources/AnimaType.swift中一览类型说明.moveByX / .moveByY / .moveByXY相对位移.moveTo(x:y:)移动到指定坐标.scaleBy / .scaleByX / .scaleByY缩放.rotateByZDegree / .rotateByZRad绕 Z 轴旋转角度/弧度.opacity(Float)透明度过渡.moveAnchor(AnimaAnchorPoint)移动锚点旋转中心.movePath(path:keyTimes:)沿任意路径运动链子上的每一段都会按书写顺序依次播放——这就是链式动画的威力layer.anima .then(.moveByX(50)) .then(.scaleBy(1.5)) .then(.rotateByZDegree(90)) .fire()分组动画让多个动画同时并行执行如果希望多个动画同一时刻一起跑把动画数组传入.then(group:)layer.anima .then(group: [.moveByX(200), .scaleBy(1.5), .rotateByZDegree(180)]) .fire()位移、缩放、旋转三箭齐发顺序段与分组段还可以自由混搭任意编排复杂的时间线。配置动画选项时长、缓动、重复与完成回调通过options:参数为每一段动画定制细节选项定义见Sources/AnimaOption.swiftlayer.anima .then(.moveByX(100), options: [ .autoreverse, // 往返播放 .timingFunction(.easeInOut), // 缓动函数 .repeat(count: 3) // 重复3次.infinity 为无限循环 ]) .fire()选项作用duration(TimeInterval)动画时长默认 1 秒timingFunction(TimingFunction)缓动曲线全部见Sources/TimingFunction.swiftrepeat(count:)重复次数.infinity表示无限循环autoreverse反向播放来回振荡completion(() - Void)完成回调可衔接下一条动画链例如让一个视图无限呼吸放大缩小 自转官方示例 SizeAnimationViewController.swift 中仅用了 5 行.scaleBy(1.5)与.rotateByZDegree(360)分组、autoreverserepeat(count: .infinity)。进阶移动锚点改变旋转中心CALayer 的anchorPoint决定旋转中心Anima 提供了语义化的.moveAnchorlayer.anima .then(.rotateByZDegree(360)) .then(.moveAnchor(.topLeft)) // 把旋转中心移到左上角 .then(.rotateByZDegree(360)) .fire()运行官方示例项目仓库内置功能齐全的示例 AppExample/目录包含路径动画、暂停/恢复、锚点切换等全部演示页面。用 Xcode 打开仓库根目录的 Anima.xcodeproj选择Anima iOS Example目标直接运行边看边学最高效示例页面演示内容MoveViewController.swift位移动画SizeAnimationViewController.swift缩放 循环振荡MovePathAnimationViewController.swift手势拖拽路径动画PauseResumeAnimationViewController.swift暂停 / 恢复控制CornerLineAnimationViewController.swift自定义 KeyPath 动画总结✅ 本文带你完成了 Anima 从安装到实战的完整闭环安装CocoaPods / Carthage / SPM 三选一pod Anima一行搞定第一个动画layer.anima.then(...).fire()三段式3 行代码起飞组合.then()顺序衔接.then(group:)并行分组定制时长、缓动、循环、回调选项随链而动Anima 用一条链就把 Core Animation 的复杂性挡在了身后。现在打开你的项目写一个属于你自己的第一个链式动画吧【免费下载链接】AnimaAnima is chainable Layer-Based Animation library for Swift5.项目地址: https://gitcode.com/gh_mirrors/anim/Anima创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考