【发布时间】:2019-07-26 22:41:26
【问题描述】:
这是我的 UIViewController:
import UIKit
import Lottie
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad() {
let rocketAnimationView = AnimationView()
//Set animation
let rocketAnimation = Animation.named("my-json-rocket-animation")
rocketAnimationView.animation = rocketAnimation
rocketAnimationView.play()
}
当我构建时,动画没有显示——视图只是保持空白。我尝试在viewDidLoad() 中实现以下内容,这似乎可行,但我的动画无法缩放到我的整个视图:
let animation = Animation.named("my-json-rocket-animation")
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.layoutMarginsGuide.bottomAnchor).isActive = true
animationView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
animationView.setContentCompressionResistancePriority(.fittingSizeLevel, for: .horizontal)
我希望我的动画会显示在视图中,但我的屏幕仍然是空白的。我是否需要创建一个新的 UIView 并将其与类类型 AnimationView 的 IBOutlet 连接,然后以某种方式设置动画?我知道这可以通过在 3.1.2 版本之前简单地写 animationView.setAnimation(named: "my-json-rocket-animation") 来实现,但我不确定它是否仍然可行。
【问题讨论】:
标签: swift animation swift5 lottie