[swift] Swift에서 사용할 수 있는 로딩 애니메이션 라이브러리 소개

로딩 애니메이션은 사용자에게 어떤 작업이 진행 중임을 알리는데 유용한 요소입니다. Swift 프로그래밍 언어를 사용하는 개발자들에게도 다양한 로딩 애니메이션 라이브러리가 제공되고 있습니다. 이번 글에서는 몇 가지 인기있는 Swift 로딩 애니메이션 라이브러리를 소개하고, 간단한 사용법을 알려드리겠습니다.

1. NVActivityIndicatorView

NVActivityIndicatorView는 활발히 업데이트되고 있는 Swift로 구현된 로딩 애니메이션 라이브러리입니다. 이 라이브러리는 30개 이상의 다양한 스타일의 로딩 애니메이션을 제공합니다.

설치는 다음과 같이 Cocoapods를 이용하여 수행할 수 있습니다.

pod 'NVActivityIndicatorView'

다음은 간단한 예제 코드입니다.

import UIKit
import NVActivityIndicatorView

class ViewController: UIViewController {
    var activityIndicatorView: NVActivityIndicatorView!

    override func viewDidLoad() {
        super.viewDidLoad()

        activityIndicatorView = NVActivityIndicatorView(frame: CGRect(x: 0, y: 0, width: 50, height: 50))
        activityIndicatorView.center = view.center
        view.addSubview(activityIndicatorView)
    }

    func startLoading() {
        activityIndicatorView.startAnimating()
    }

    func stopLoading() {
        activityIndicatorView.stopAnimating()
    }
}

2. Lottie

Lottie는 Airbnb에서 개발한 Swift용 로딩 애니메이션 라이브러리입니다. 이 라이브러리는 Adobe After Effects를 통해 만들어진 JSON 파일을 기반으로 애니메이션을 표현할 수 있습니다. 따라서 높은 품질의 애니메이션 효과를 쉽게 구현할 수 있습니다.

설치는 다음과 같이 Cocoapods를 이용하여 수행할 수 있습니다.

pod 'lottie-ios'

다음은 간단한 예제 코드입니다.

import UIKit
import Lottie

class ViewController: UIViewController {
    var animationView: AnimationView!

    override func viewDidLoad() {
        super.viewDidLoad()

        animationView = AnimationView(name: "loading_animation")
        animationView.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
        animationView.center = view.center
        animationView.loopMode = .loop
        view.addSubview(animationView)
    }

    func startLoading() {
        animationView.play()
    }

    func stopLoading() {
        animationView.stop()
    }
}

위의 예제에서 “loading_animation”은 Adobe After Effects로 만든 JSON 애니메이션 파일 이름입니다.

3. SpinKit

SpinKit은 Swift와 Objective-C에 모두 사용할 수 있는 로딩 애니메이션 라이브러리입니다. 회전하는 점들로 이루어진 흔히 볼 수 있는 로딩 애니메이션을 제공합니다.

설치는 다음과 같이 Cocoapods를 이용하여 수행할 수 있습니다.

pod 'SpinKit'

다음은 간단한 예제 코드입니다.

import UIKit
import SpinKit

class ViewController: UIViewController {
    var spinner: RTSpinKitView!

    override func viewDidLoad() {
        super.viewDidLoad()

        spinner = RTSpinKitView(style: .rotatingPlane)
        spinner.color = UIColor.red
        spinner.center = view.center
        view.addSubview(spinner)
    }

    func startLoading() {
        spinner.startAnimating()
    }

    func stopLoading() {
        spinner.stopAnimating()
    }
}

위의 예제에서 .rotatingPlane은 SpinKit에서 제공하는 로딩 애니메이션 스타일 중 하나입니다.

결론

위에 소개한 NVActivityIndicatorView, Lottie, SpinKit은 Swift에서 사용할 수 있는 로딩 애니메이션 라이브러리 중 일부입니다. 각 라이브러리는 다양한 스타일과 기능을 제공하여 다양한 사용자 요구에 적용할 수 있습니다. 프로젝트의 요구사항에 맞는 적절한 라이브러리를 선택해보세요.

참고 링크:

  1. NVActivityIndicatorView GitHub
  2. Lottie GitHub
  3. SpinKit GitHub