我更新到Lottie
的最新版本(3.0),并注意到各种更改迫使我更改代码。
以前,我想通过storyboard
定位动画,为此,我使用了LOTAnimatedControl
,然后在代码中访问了控件的animationView
来设置动画通过LOTAnimatedControl.animationView.setAnimation(named: "x")
。
现在看来这根本不可能。
那我当时以为可以做的是..
1.在情节提要中设置uiview
出口。
2.子视图在代码中初始化的AnimationView
。
3.通过AnimationView.animation = Animation.named("name")
我全部设置好了,但是运行动画时看不到动画。在调试中,我看到Animation.named("x")
输出为nil,但不确定为什么。我删除了名称中的.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()
答案 0 :(得分:1)
您需要
activityIndicator.translatesAutoresizingMaskIntoConstraints = false
正确添加程序约束
答案 1 :(得分:0)
仍然不确定为什么我遵循quickstart lottie ios文档时得到的是零,但是我的解决方法是初始化AnimationView
,因此我将其与初始化时的实际动画捆绑在一起-{{1} }。