ios - 如何使用 Storyboard使用 Lottie Animation

标签 ios swift xcode swift5 lottie

我正在使用最新版本的 Xcode。
我有一个名为“rainynight”的 JSON 文件。
我想使用 Storyboard将它显示到“查看”组件中。
下面是我在我的 ViewController 上写的代码。

import UIKit
import Lottie

class ViewController: UIViewController {

@IBOutlet weak var animationView: AnimationView!

override func viewDidLoad() {
    super.viewDidLoad()
    
    animationView.contentMode = .scaleAspectFit
    animationView.loopMode = .loop
    animationView.play()
}
然后,我去属性检查器设置动画 View 的动画名称。
main.stroyboard 的屏幕截图
Screenshot of main.stroyboard
到目前为止,一切正常。
“rainynight”JSON 文件在 View 中显示得非常好。
但问题是我的最终目标是随机显示几个 Lottie 动画。
实际上,我会将 Lottie 动画与天气 API 连接起来,但为了方便起见,假设我想随机显示 JSON 文件。
例如,我有一个包含 JSON 文件名称的数组,如下所示。
let jsonArray = ["rainynight", "storm", "foggy"]
我的文件列表中有这些 JSON 文件。
Screenshot of file list
但是如何使用 Storyboard在 View 上随机显示这些元素之一?
我知道它可以通过编写代码轻松解决。
但是通过编写代码,据我所知,我只能将动画设置在中心或其他地方。
我希望将动画设置在我想要的位置。
动画 View 的位置不能用简单的“中心”一词来描述。
这就是我想使用 Storyboard的原因。

最佳答案

将 UIView 放在 Storyboard中任何您想要的位置,并将类名更改为 AnimationView 。将一个 socket 拖到您的 View Controller 上。
然后剩下的就很简单了。

@IBOutlet weak var animationView: AnimationView!
    
override func viewDidLoad() {
    super.viewDidLoad()

    let subAnimationView = AnimationView(name: "myAnimationName")
    animationView.contentMode = .scaleAspectFit
    animationView.addSubview(subAnimationView)
    subAnimationView.frame = animationView.bounds
    subAnimationView.play()
}

关于ios - 如何使用 Storyboard使用 Lottie Animation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62744159/

相关文章:

ios - 当在其上使用捏合手势时,uiview 的边界是否会改变?

ios - 找不到 Bolts/Bolts.h 文件 - 已安装 Facebook SDK

swift - 更新另一个内部步幅循环的索引

xcode - 如何在 swift 'AnyObject' 中从 coredata 字典中打印出值没有名为“用户名”的成员?

xcode - dyld : Library not loaded. 原因:找不到合适的图像

iphone - 当我的同事更改代码并将其提交到存储库时,我可以看到代码,但 xCode 编译时就好像他的贡献不存在一样

ios - 错误ITMS:90524 UIDeviceFamily错误

ios - 如何在 Swift 中定义闭包数组?

ios - ARKit 纹理在 XCode 中显示,但场景中的对象是无光泽的

iphone - NSString 上的 NSRegularExpression 不起作用