lottie-ios

An iOS library to natively render After Effects vector animations

Github星跟蹤圖

Lottie for iOS, macOS (and Android and React Native)

VersionLicensePlatform

View documentation, FAQ, help, examples, and more at airbnb.io/lottie

Lottie is a mobile library for Android and iOS that natively renders vector based animations and art in realtime with minimal code.

Lottie loads and renders animations and vectors exported in the bodymovin JSON format. Bodymovin JSON can be created and exported from After Effects with bodymovin, Sketch with Lottie Sketch Export, and from Haiku.

For the first time, designers can create and ship beautiful animations without an engineer painstakingly recreating it by hand.
Since the animation is backed by JSON they are extremely small in size but can be large in complexity!
Animations can be played, resized, looped, sped up, slowed down, reversed, and even interactively scrubbed.
Lottie can play or loop just a portion of the animation as well, the possibilities are endless!
Animations can even be changed at runtime in various ways! Change the color, position or any keyframable value!
Lottie also supports native UIViewController Transitions out of the box!

Here is just a small sampling of the power of Lottie

Example1
Example2

Example3

Abcs

Installing Lottie

Lottie supports CocoaPods and Carthage (Both dynamic and static). Lottie is written in Swift 4.2.

Github Repo

You can pull the Lottie Github Repo and include the Lottie.xcodeproj to build a dynamic or static library.

CocoaPods

Add the pod to your Podfile:

pod 'lottie-ios'

And then run:

pod install

After installing the cocoapod into your project import Lottie with

import Lottie

Carthage

Add Lottie to your Cartfile:

github "airbnb/lottie-ios" "master"

And then run:

carthage update

In your application targets “General” tab under the “Linked Frameworks and Libraries” section, drag and drop lottie-ios.framework from the Carthage/Build/iOS directory that carthage update produced.

Swift Package Manager

// swift-tools-version:5.1

import PackageDescription

let package = Package(
  name: "YourTestProject",
  platforms: [
       .iOS(.v12),
  ],
  dependencies: [
    .package(url: "https://github.com/airbnb/lottie-ios.git", from: "3.1.2")
  ],
  targets: [
    .target(name: "YourTestProject", dependencies: ["Lottie"])
  ]
)

And then import wherever needed: import Lottie

Adding it to an existent iOS Project via Swift Package Manager

  1. Using Xcode 11 go to File > Swift Packages > Add Package Dependency
  2. Paste the project URL: https://github.com/airbnb/lottie-ios
  3. Click on next and select the project target
    **NOTE: For MacOS you must set the Branch field to lottie/macos-spm
    Example

If you have doubts, please, check the following links:

How to use

Creating Swift Packages

After successfully retrieved the package and added it to your project, just import Lottie and you can get the full benefits of it.

Objective-C Support

As of 3.0 Lottie has been completely rewritten in Swift!

For Objective-C support please use Lottie 2.5.3. Alternatively an Objective-C branch exists and is still active.

The official objective c branch can be found here:

Objective-C Branch

Also check out the documentation regarding it here:

iOS Migration

主要指標

概覽
名稱與所有者airbnb/lottie-ios
主編程語言Swift
編程語言Ruby (語言數: 3)
平台
許可證Apache License 2.0
所有者活动
創建於2016-10-06 22:38:38
推送於2025-05-27 19:27:18
最后一次提交2025-05-27 12:26:12
發布數74
最新版本名稱4.5.2 (發布於 )
第一版名稱1.0.0 (發布於 )
用户参与
星數26.3k
關注者數463
派生數3.8k
提交數1.3k
已啟用問題?
問題數1459
打開的問題數31
拉請求數722
打開的拉請求數0
關閉的拉請求數162
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?