Skip to content

Lottie for SwiftUI. It is a library developed to make Lottie easy to implement. It supports iOS and macOS.

License

Notifications You must be signed in to change notification settings

jasudev/LottieUI

Repository files navigation

LottieUI for SwiftUI

It is a library developed to make Lottie easy to implement. It supports iOS and macOS.

Platforms iOS macOS instagram SPM MIT

Screenshot

LottieUI.mp4

Example

https://fabulaapp.page.link/225

Usages

  1. LUStateData examples.

    /// Loads an animation model from a bundle by its name.
    let state1 = LUStateData(type: .name("bubble1"), loopMode: .loop)
    /// Loads a Lottie animation asynchronously from the URL.
    let state2 = LUStateData(type: .loadedFrom(URL(string: "https://assets9.lottiefiles.com/packages/lf20_mniampqn.json")!), speed: 1.0, loopMode: .loop)
    /// Loads an animation from a specific filepath.
    let state3 = LUStateData(type: .filepath("/Users/jasu/Downloads/bubble2.json"), speed: 1.0, loopMode: .loop)
  2. How to use LottieView.

    /// 1
    LottieView(state: state1)
    ...
    /// 2
    LottieView(state: state1, onCompleted: { success in
        print("Completed")
    }, onDownloaded: { success in
        print("Downloaded")
    })
    ...
    /// 3
    VStack {
        LottieView(state: state1, value: value, onCompleted: { success in
            print("Completed")
        }, onDownloaded: { success in
            print("Downloaded")
        })
        Slider(value: $value, in: 0...1)
    }

Swift Package Manager

The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler. Once you have your Swift package set up, adding LottieUI as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
    .package(url: "https://github.com/jasudev/LottieUI.git", .branch("main"))
]

Contact

instagram : @dev.fabula
email : [email protected]

License

LottieUI is available under the MIT license. See the LICENSE file for more info.