【发布时间】:2019-02-02 19:55:09
【问题描述】:
我尝试过使用 Spring 链接动画,但遗憾的是,文档对链接动画非常不清楚 (https://github.com/MengTo/Spring)。
我还看到有些人问了同样的问题,但不知何故,他们的答案对我不起作用。 (Spring Meng To chaining animations?, https://github.com/MengTo/Spring/issues/123)
我尝试过使用 Spring 示例中的链:
func startAnimationSpringChain() {
self.springView.animation = "slideRight"
self.springView.animateNext {
self.springView.animation = "fadeOut"
self.springView.animate()
}
}
这里第一个动画有效,但第二个动画是“fadeOut”和反向播放“slideRight”的组合。
然后我尝试使用 PromiseKit 的 Promises (https://github.com/mxcl/PromiseKit):
func startAnimationPromise() {
firstly {
self.firstAnimation()
}.done {
self.secondAnimation()
}
}
func firstAnimation () -> Promise<Void>{
return Promise { seal in
self.springView.animation = "SlideRight"
self.springView.animate()
seal.fulfill(())
}
}
func secondAnimation() -> Promise<Void>{
return Promise { seal in
self.springView.animation = "fadeOut"
self.springView.animate()
seal.fulfill(())
}
}
这导致只非常快地播放第二个动画“fadeOut”。
谁能解释一下这三个函数:
animateNext { ... }
animateTo()
animateToNext { ... }
因为我发现很难理解他们到底在做什么。
感谢您的帮助,我非常感谢,我很高兴收到有关我的代码的各种建议! :)
最好的
【问题讨论】:
标签: swift animation promise ios-animations spring-swift