файл lottie не появляется

Я пытаюсь использовать файлы lottie в своем проекте, я много раз пробовал, но никто не работал. ничего не появляется мой код ниже, я пробовал два способа 1- lottieAnimation(), 2- `setupAnimation () также я пробовал через UIView, я желаю вашей помощи, чтобы узнать, в чем проблема, и предпринять правильные шаги для ее успешного использования.

import UIKit
import Lottie

class BonusVC: UIViewController {

    @IBOutlet weak var containerAnim: UIView!
    var animation : AnimationView?
    let animationView = AnimationView()
    override func viewDidLoad() {
        super.viewDidLoad()
        lottieAnimation()
    }
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        lottieAnimation()
        //setupAnimation()
    }


    func setupAnimation() {
        animation = AnimationView(name: "wallet")
        animation?.frame = self.containerAnim.frame
        self.containerAnim.addSubview(animation!)
        animation?.loopMode = .autoReverse
        animation?.contentMode = .scaleAspectFit
        animation?.play()
    }

    func lottieAnimation() {
        let animation = Animation.named("wifi", subdirectory: "LottieAnimation")
        animationView.animation = animation
        animationView.contentMode = .scaleAspectFit
        view.addSubview(animationView)

        animationView.backgroundBehavior = .pauseAndRestore
        animationView.translatesAutoresizingMaskIntoConstraints = false
        animationView.topAnchor.constraint(equalTo: view.layoutMarginsGuide.topAnchor).isActive = true
        animationView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true

        animationView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -12).isActive = true
        animationView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
        animationView.setContentCompressionResistancePriority(.fittingSizeLevel, for: .horizontal)
        animationView.play()
    }
}

person Alaa Al-Rayes    schedule 24.09.2019    source источник


Ответы (1)


Я считаю полезным начать с простого доказательства концепции, чтобы убедиться, что все работает правильно, а затем я настраиваю оттуда. Попробуйте этот код с одним из примеров файлов Lottie:

import UIKit
import Lottie

class ViewController: UIViewController {

    let testAnimation = "bb8"

    override func viewDidLoad() {
        super.viewDidLoad()

    }

    @IBAction func showAnimation(_ sender: UIButton) {
        let animationView = AnimationView()
        let animation = Animation.named(testAnimation)
        animationView.frame = CGRect(x: 0, y: 100, width: self.view.frame.size.width, height: 350)
        animationView.contentMode = .scaleAspectFit
        animationView.animation = animation
        animationView.loopMode = .loop

        self.view.addSubview(animationView)

        animationView.play()
    }
}

bb8 - это имя файла JSON. Я использую Swift Package Manager для запуска Lottie-ios, но это также работает с CocoaPods.

person forrest    schedule 26.09.2019