运行 岐阜完成动画时的代码
run code when Gifu has finished animating
我已经在我的项目中安装了 Gifu 来管理一些 gif 动画。
有谁知道在动画的 1 个循环结束时如何运行编码?
我似乎在动画的同时获得了完成处理代码运行ning。
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
animatedDone.animate(withGIFNamed: "animatedTick.gif")
animatedDone.prepareForAnimation(withGIFNamed: "animatedTick.gif", loopCount: 1) { (Void) in
saveAndExit()
}
}
此回调仅用于准备动画。它不是在动画完成时调用的回调。我发现这种情况的解决方案是在动画持续时间后调度一个队列。
override func viewDidLoad() {
super.viewDidLoad()
let animatedDone = GIFImageView()
animatedDone.prepareForAnimation(withGIFNamed: "animatedTick.gif", loopCount: 1)
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, execute: {
animatedDone.startAnimatingGIF()
DispatchQueue.global().asyncAfter(deadline: .now() + 0.5 + animatedDone.gifLoopDuration, execute: { // dispatch main or global
saveAndExit()
})
})
}
我已经在我的项目中安装了 Gifu 来管理一些 gif 动画。
有谁知道在动画的 1 个循环结束时如何运行编码?
我似乎在动画的同时获得了完成处理代码运行ning。
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
animatedDone.animate(withGIFNamed: "animatedTick.gif")
animatedDone.prepareForAnimation(withGIFNamed: "animatedTick.gif", loopCount: 1) { (Void) in
saveAndExit()
}
}
此回调仅用于准备动画。它不是在动画完成时调用的回调。我发现这种情况的解决方案是在动画持续时间后调度一个队列。
override func viewDidLoad() {
super.viewDidLoad()
let animatedDone = GIFImageView()
animatedDone.prepareForAnimation(withGIFNamed: "animatedTick.gif", loopCount: 1)
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, execute: {
animatedDone.startAnimatingGIF()
DispatchQueue.global().asyncAfter(deadline: .now() + 0.5 + animatedDone.gifLoopDuration, execute: { // dispatch main or global
saveAndExit()
})
})
}