Анимация Lottie не появляется iOS - PullRequest
0 голосов
/ 20 марта 2019

Я обновил до последней версии (3.0) Lottie и заметил различные изменения, которые заставили меня изменить мой код.

Раньше я хотел иметь возможность позиционировать анимацию через storyboard, и для этого я использовал LOTAnimatedControl, а затем в коде получил доступ к animationView элемента управления, чтобы установить анимацию через LOTAnimatedControl.animationView.setAnimation(named: "x").

Теперь кажется, что это вообще невозможно.

Тогда я думал, что смогу это сделать .. 1. Установите розетку uiview в раскадровке. 2. Подвид AnimationView, инициализированный в коде. 3. Настройка анимации с помощью AnimationView.animation = Animation.named("name")

Я все это настроил, но не могу увидеть анимацию при запуске. В отладке я вижу, что Animation.named("x") выводит на ноль, но не уверен почему. Я удалил расширение .json в названии, и файл .json находится именно там, где он был раньше, когда работал.

Любые идеи приветствуются. Ниже моя установка.

@IBOutlet weak var activityIndicatorView: UIView!

let activityIndicator = AnimationView()

activityIndicatorView.addSubview(activityIndicator)
    NSLayoutConstraint.activate([
        activityIndicator.centerXAnchor.constraint(equalTo: activityIndicatorView.centerXAnchor),
        activityIndicator.centerYAnchor.constraint(equalTo: activityIndicatorView.centerYAnchor),
        activityIndicator.widthAnchor.constraint(equalToConstant: activityIndicatorView.frame.width),
        activityIndicator.heightAnchor.constraint(equalToConstant: activityIndicatorView.frame.height)
        ])
let animation = Animation.named("name")
    activityIndicator.animation = animation
    activityIndicator.isHidden = false
    activityIndicator.loopMode = .loop
    activityIndicator.play()

Ответы [ 2 ]

1 голос
/ 20 марта 2019

Вам нужно

activityIndicator.translatesAutoresizingMaskIntoConstraints = false

для правильного добавления программных ограничений

0 голосов
/ 21 марта 2019

Все еще не уверен, почему я получал ноль, поскольку я следовал за краткой документацией lottie ios, но мой обходной путь был при инициализации AnimationView, я просто связал бы это с фактической анимацией при инициализации - AnimationView(name: "name").

...