Lottie Animations в iOS нет

Я пытаюсь использовать анимацию Lottie в своем приложении для iOS, но не могу заставить их работать. Я видел, как люди используют LOTAnimationViews, но я не могу импортировать или использовать этот класс. Я добавил папку Animation с моими анимациями в формате.

ViewController:

class CardStackViewController: UIViewController, CLLocationManagerDelegate, NetworkManagerDelegate {
    ...
    private let animationView = AnimationView()
    ...

    ...
    func didFail(with error: Error) {
        if let animation = Animation.named("error", subdirectory: "Animations") {
            animationView.animation = animation
            animationView.loopMode = .loop
            view.addSubview(animationView)
            animationView.play()
        }
        print("---DIDFAIL WITH ERROR---", error.localizedDescription, error)
    }
    ...
}

person Mout Pessemier    schedule 08.12.2019    source источник


Ответы (2)


Выше

import lottie

и придайте виду рамку

animationView.animation = animation
animationView.frame = ///
person Sh_Khan    schedule 08.12.2019
comment
а эта рамка CGRect например? - person Mout Pessemier; 08.12.2019

Если вы хотите добиться этого с помощью раскадровки, выполните следующие действия:

  1. Перетащите представление в свой контроллер представления.
  2. Измените класс View на AnimationView и модуль на Lottie, как показано ниже.

Как это

  1. Теперь в своем классе ViewController импортируйте Lottie и создайте выход, подобный этому:

    import Lottie
    
    class YourVC : UIViewController { 
    @IBOutlet weak var myAnimationView : AnimationView!
    }
    
  2. Теперь в вашей функции ViewDidLoad настройте вашу анимацию следующим образом:

    let animationToShow = Animation.named("yourAnimationFileNameWithoutJSONextension")
    myAnimationView.animation = animationToShow
    myAnimationView.animationSpeed = 1.0
    myAnimationView.loopMode = .loop
    myAnimationView.contentMode = .scaleAspectFit
    myAnimationView.play()
    

Сделанный!

person iOSArchitect.com    schedule 08.12.2019