新闻详情

新闻详情

首页 / 资讯中心 / 详情

用lottie-ios 3步跑通iOS加载动画

发布时间:2026/9/4 12:31:53来源:尧图网络
用lottie-ios 3步跑通iOS加载动画
用lottie-ios 3步跑通iOS加载动画【免费下载链接】lottie-iosAn iOS library to natively render After Effects vector animations项目地址: https://gitcode.com/GitHub_Trending/lo/lottie-iosLottie-ios 是 Airbnb 出品的 iOS 动画渲染库。它原生解析 After Effects 导出的矢量动画 JSON在端上直接绘制不用打包帧图。这类 JSON 文件通常比同效果 GIF 小 80% 左右。适合需要加载动画、按钮交互动效和页面过渡的 iOS 开发者。能力速览能力说明Core Animation 引擎渲染60fps主线程零负担引擎自动回退不支持的动画走 mainThreadDotLottie 文件支持一个 .lottie 装多段动画Value Provider运行时改填充色、大小、文本内置 LRU 动画缓存解析结果直接复用多平台iOS、macOS、tvOS、visionOS3步装好lottie-ios并跑起第一个动画环境要求一句话iOS 13.0、Xcode 15无第三方依赖。第一步Xcode 菜单 File → Add Package Dependencies地址填 https://gitcode.com/GitHub_Trending/lo/lottie-ios 勾选 Lottie 库。第二步把设计师给的 JSON 拖进工程确认 Target Membership 已勾选。第三步创建视图并播放import Lottie let animationView LottieAnimationView(name: Boat_Loader) // JSON文件名不带扩展名 animationView.contentMode .scaleAspectFit view.addSubview(animationView) animationView.play() // 默认只播一遍name写错就是白屏这是新手踩坑重灾区。实战场景加载动画与按钮交互让加载页循环而不放骨架屏加载态是 lottie-ios 最高频的场景。注意默认只播一遍循环必须显式设.looplet loader LottieAnimationView(name: Boat_Loader) loader.loopMode .loop // 别漏这行 view.addSubview(loader) loader.play()网络请求回来要撤掉加载态时调pause()即可重新请求时再play()会从断点继续不用重建视图。加载态搞定后顺手把按钮反馈也换成动效。让按钮点击有即时反馈思路就一条播一遍播完回初始帧。let heart LottieAnimationView(name: TwitterHeart) // button.addTarget(self, action: #selector(tap), for: .touchUpInside) objc func tap() { heart.play { _ in heart.stop() // 播完回到初始状态 } }仓库测试样例里的图标形变动画就是这个模式除了播还有一个高频诉求不改动画文件直接改它的颜色。不动设计师改动画配色绑一个 Value Provider 到对应 keypath运行时生效import Lottie let color ColorValueProvider(UIColor.systemBlue) heart.setValueProvider(color, keypath: AnimationKeypath(Layer1.Fill_1.Color))keypath 跟动画图层结构一一对应。不确定路径时用 Lottie Preview 或调试日志查。进阶拖进度与切换渲染引擎跑通播放后生产环境真正用到的是这两个 APIanimationView.currentProgress 0.5 // 滑块联动进度 // 显式指定主线程渲染引擎 let conf LottieConfiguration(renderingEngine: .mainThread) let view LottieAnimationView(name: Boat_Loader, configuration: conf)默认是.automatic能走 Core Animation 就走遇到不支持的特性自动回退 mainThread。显式指定只为了排查问题或保证行为确定。常见坑现象、原因、解法加完动画是白屏。name 和 JSON 文件名对不上或文件没进 Target。改名字或换成filePath:按绝对路径加载。复杂动画掉帧卡顿。图层太多或叠了模糊、混合效果。简化动画或减少同屏播放数量。日志出现引擎回退警告。该动画含 Core Animation 不支持的特性已自动走 mainThread。渲染正常忽略即可。首帧延迟高。每次解析 JSON 都花主线程时间。默认已挂LottieAnimationCache.shared缓存大文件优先瘦身或换 DotLottie 格式。Lottie-ios 的边界很清楚2D 矢量动效场景如加载态、按钮反馈、页面过渡都基于解析 AE JSON 来画。3D 效果、实拍视频类动效它覆盖不了。掌握 play、keypath、configuration、缓存四件事日常需求基本够用。Example/ 示例项目SwiftUI 下的用法演示Sources/ 源码公共 API 与双渲染引擎实现Tests/ 测试用例含大量样例动画 JSON 和快照结果【免费下载链接】lottie-iosAn iOS library to natively render After Effects vector animations项目地址: https://gitcode.com/GitHub_Trending/lo/lottie-ios创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

论文降重与文本改写服务避坑指南:从风险识别到自主修改 2026/9/4 17:42:41

论文降重与文本改写服务避坑指南:从风险识别到自主修改

1. 引言:为什么降重服务频频翻车 毕业论文写作临近尾声,降重与文本改写几乎是每位毕业生绕不开的一环。面对五花八门的服务商,如何判断一家机构是否可靠?我在这个过程中踩过不少坑,也总结出一些可复用的经验。本文将从…

阅读更多 →
论文降重与文本改写服务避坑指南:识别不靠谱服务的实用方法 2026/9/4 17:42:41

论文降重与文本改写服务避坑指南:识别不靠谱服务的实用方法

一、为什么需要警惕降重与改写服务? 在写毕业论文的过程中,很多同学可能会遇到需要降重或改写文本的需求。为了节省时间和精力,我们常常倾向于使用一些服务,但这些服务的质量却参差不齐。那么,作为一个正在赶论文的普…

阅读更多 →
论文降重与改写:如何选对文本处理方式,避开查重“陷阱”? 2026/9/4 17:42:41

论文降重与改写:如何选对文本处理方式,避开查重“陷阱”?

1. 引言:论文修改,不只是“换个说法” 毕业论文写到尾声,最让人头疼的往往不是内容本身,而是“怎么改”。查重报告一出来,满屏飘红;导师一句“语言不够学术”,又得从头捋一遍。面对五花八门的文…

阅读更多 →
高速信号设计进阶指南:从仿真到PCB Layout到测试验证 2026/9/4 17:42:41

高速信号设计进阶指南:从仿真到PCB Layout到测试验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
2026.09.01 2026/9/4 17:42:41

2026.09.01

这是工作第十年的第三个月,我希望如当初第一年的9月那样度过。在那年的九月之前,我想起了7月的趣事,没有记错的话,那是进入工作所被分配的第一件事,在最大的温箱里测试频谱参数,原先是工作一年的同行事测的…

阅读更多 →
【单片机毕设案例分享】基于 STM32 的按键语音蓝牙多渠道灯光控制器设计 基于 STM32 的自动人体延时关灯智能照明装置开发(023606) 2026/9/4 17:39:40

【单片机毕设案例分享】基于 STM32 的按键语音蓝牙多渠道灯光控制器设计 基于 STM32 的自动人体延时关灯智能照明装置开发(023606)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于单片机,STM32单片机,51单片机,J…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞