EEYatHo 앱 깎는 이야기

iOS, Swift 애니메이션 서드파티 Lottie 본문

iOS, Swift

iOS, Swift 애니메이션 서드파티 Lottie

EEYatHo 2021. 3. 16. 09:56
반응형

세상이 정말 좋아졌습니다. 애니메이션까지 디자이너분이 만들어주시면 적용만 하면 되다니!

(물론 뷰를 가지고 하는 애니메이션은 개발자 영역이지만..)

 

Free Lottie Animation Files, Tools & Plugins - LottieFiles

The world’s largest online platform for the world’s smallest animation format for designers, developers, and more. Access Lottie animation tools and plugins for Android, iOS, and Web.

lottiefiles.com

Lottie란,

json 파일을 읽는 식으로 애니메이션을 구현할 수 있는 서드파티 입니다.

=> 따라서, json 파일 하나로 iOS, AOS, 웹 모두 같은 애니메이션을 사용할 수 있습니다!! 

 

간단하게 코코아팟으로 설치할 수 있습니다.

pod 'lottie-ios'

 

import Lottie

 

 

로티 홈페이지에서 간단한 무료 애니메이션을 다운받아 적용시켜 볼 수 있습니다.

https://lottiefiles.com/ 

 

애니메이션 파일을 다운받으시면 *.json 파일이 나오고,

이를 프로젝트 내부에 넣어줍니다.

lf30_ysiwhpp5.json 파일을 프로젝트에 넣은 모습

 

그리고 간단한 로티 매니저 구현입니다.

import UIKit
import Lottie

class LottieManager {
    static let shared = LottieManager()
    private init() {}
    
    let animationView = AnimationView(name: "lf30_ysiwhpp5")
    
    func startReload() {
        animationView.frame = CGRect(x: 0, y: 0, width: 60, height: 60)
        if let keyWindow = UIApplication.shared.keyWindow {
            animationView.center = keyWindow.center
            keyWindow.addSubview(animationView)
        }
        
        animationView.contentMode = .scaleAspectFit
        animationView.loopMode = .loop
        animationView.play()
    }

    func stopReload() {
        animationView.stop()
        animationView.removeFromSuperview()
    }
}
Comments