lottie-ios

lottie-ios

iOS原生高性能矢量动画渲染库

lottie-ios是一款跨平台动画库,适用于iOS、macOS、tvOS和visionOS系统。它可原生渲染After Effects和Sketch等工具导出的矢量动画,提供高效流畅的动画效果。该库支持多种动画控制功能,如播放、调整大小、循环和速度变化等,还能在运行时动态修改动画属性。开发者无需手动编码即可轻松集成复杂动画,为应用增添丰富的视觉体验。

LottieiOS动画库矢量动画跨平台Github开源项目

iOS版Lottie

版本 Carthage兼容 SwiftPM 许可证 平台 Swift版本

airbnb.io/lottie查看文档、常见问题、帮助、示例等更多内容

Lottie是一个跨平台库,适用于iOS、macOS、tvOS、visionOS、AndroidWeb,可以用最少的代码在实时环境中原生渲染基于矢量的动画和艺术作品。

Lottie加载并渲染以bodymovin JSON格式导出的动画和矢量图。Bodymovin JSON可以通过bodymovin从After Effects创建和导出,通过Lottie Sketch Export从Sketch导出,以及从Haiku导出。

设计师可以创建并发布精美的动画,而无需工程师费力地手动重建它们。由于动画以JSON为基础,它们的体积非常小,但可以非常复杂!动画可以播放、调整大小、循环、加速、减速、倒放,甚至可以交互式地拖动。Lottie还可以只播放或循环动画的一部分,可能性是无限的!甚至可以在运行时以各种方式更改动画!改变颜色、位置或任何可设置关键帧的值!

以下是Lottie强大功能的一小部分示例

示例1 示例2

<img src="https://yellow-cdn.veclightyear.com/2b54e442/6759b087-0172-4280-aa70-d7349cceb2cf.gif" />

示例3

字母表

安装Lottie

Lottie支持Swift Package ManagerCocoaPodsCarthage(同时支持动态和静态库)。

Github仓库

你可以克隆Lottie Github仓库并包含Lottie.xcodeproj来构建动态或静态库。

Swift Package Manager

要使用Swift Package Manager安装Lottie,你可以按照Apple发布的教程使用Lottie仓库的URL和当前版本:

  1. 在Xcode中,选择"文件" → "添加包依赖项..."
  2. 输入 https://github.com/airbnb/lottie-spm.git

或者你可以在Package.swift中添加以下依赖项:

.package(url: "https://github.com/airbnb/lottie-spm.git", from: "4.5.0")

当使用Swift Package Manager时,我们建议使用lottie-spm仓库而不是主lottie-ios仓库。lottie-ios的主Git仓库相当大(300多MB),而Swift Package Manager总是会下载完整的仓库及其所有Git历史。lottie-spm仓库要小得多(不到500kb),因此可以更快地下载。

lottie-spm仓库不会下载完整的Lottie Git历史并从源代码构建,而只包含指向最新lottie-ios发布版本中预编译XCFramework的指针(通常约8MB)。如果你更喜欢直接在项目中包含Lottie源代码,可以通过引用https://github.com/airbnb/lottie-ios.git来直接依赖主lottie-ios仓库。

CocoaPods

将pod添加到你的Podfile中:

pod 'lottie-ios'

然后运行:

pod install

将cocoapod安装到项目中后,使用以下代码导入Lottie

import Lottie

Carthage

将Lottie添加到你的Cartfile中:

github "airbnb/lottie-ios" "master"

然后运行:

carthage update

在应用程序目标的"General"选项卡下的"Linked Frameworks and Libraries"部分,从carthage update生成的Carthage/Build/iOS目录中拖放lottie-ios.framework。

Swift版本支持

Lottie支持Apple允许提交到App Store的最低版本的Swift / Xcode。你可以在Swift Package Index上查看Lottie支持的Swift版本的最新信息:

Swift版本

隐私

Lottie不收集任何数据。我们提供此声明以帮助你填写应用隐私详情。我们还提供了一个隐私清单,可以包含在你的应用程序中。

安全性

我们在GitHub上为每个发布版本分发XCFramework包。在Lottie 4.4.0及更高版本中,这些XCFramework包包含代码签名。这些包是以"Lottie iOS"的名义自签名的,具有以下指纹:

89 2F 1B 43 04 7B 50 53 8F 2F 46 EA D9 29 00 DD 3D 48 11 F358 21 78 C0 61 A5 FB 20 F1 11 CB 26

在Xcode中,你可以通过选择Lottie.xcframework并确认它显示以下信息来验证这一点:

Xcode中的代码签名

贡献

我们一直很感谢社区的贡献。要对项目进行更改,你可以克隆仓库并打开Lottie.xcworkspace。这个工作空间包括:

  • Lottie框架(适用于iOS、macOS和tvOS)
  • 单元测试和快照测试(适用于iOS,必须在iPhone 8模拟器上运行)
  • 一个示例iOS应用程序,可以浏览和测试仓库中包含的100多个示例动画

所有包含新功能或影响动画渲染方式的错误修复的拉取请求都应包括验证所包含更改的快照测试用例。

  • 要向快照测试套件添加新的示例动画,你可以将.json文件添加到Tests/Samples中。重新运行快照测试以生成新的快照图像文件。
  • 要在进行更改后更新现有快照,你可以在SnapshotTests.swiftsetUp()方法中设置isRecording = true,然后重新运行快照测试。

该项目还包括我们的Rakefile中定义的几个有用的命令。要使用这些命令,你需要安装Bundler

$ sudo gem install bundle $ bundle install

例如,所有Swift代码都应按照Airbnb Swift风格指南进行格式化。进行更改后,你可以通过运行bundle exec rake format:swift使用SwiftFormatSwiftLint自动重新格式化代码。其他有用的命令包括:

$ bundle exec rake build:all # 为所有平台构建所有目标 $ bundle exec rake build:package:iOS # 为iOS构建Lottie包 $ bundle exec rake test:package # 测试Lottie包 $ bundle exec rake format:swift # 根据Airbnb Swift风格指南重新格式化Swift代码

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多