Lottie 动画没有出现 iOS

Posted

技术标签:

【中文标题】Lottie 动画没有出现 iOS【英文标题】:Lottie Animation Not Appearing iOS 【发布时间】:2019-03-20 19:23:32 【问题描述】:

我更新到Lottie 的最新版本 (3.0) 并注意到迫使我更改代码的各种变化。

以前,我希望能够通过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()

【问题讨论】:

【参考方案1】:

你需要

activityIndicator.translatesAutoresizingMaskIntoConstraints = false

正确添加编程约束

【讨论】:

【参考方案2】:

仍然不知道为什么我在遵循快速入门 lottie ios 文档时得到了 nil,但我的解决方法是初始化 AnimationView,我只是将它与初始化时的实际动画捆绑在一起 - AnimationView(name: "name")

【讨论】:

以上是关于Lottie 动画没有出现 iOS的主要内容,如果未能解决你的问题,请参考以下文章

Lottie 动画加载时如何淡入淡出?

React Native 实现Lottie动画

React Native 实现Lottie动画

封装Android带Lottie动画的底部导航栏

封装Android带Lottie动画的底部导航栏

仅在 xcode for ios 的 react native 项目中使用 lottie 的自定义动画启动屏幕 [关闭]