这是我目前的一些代码:
class VIEwController: UIVIEwController {@IBOutlet weak var purpleRing: UIImageVIEw!@IBOutlet weak var beforeCountdownAnimation: UIImageVIEw!var imageArray = [UIImage]()var imageArray2 = [UIImage]()overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() for e in -17...0 { let imagename2 = "\(e)" imageArray2.append(UIImage(named: imagename2)!) } for t in 1...97 { let imagename = "\(t)" imageArray.append(UIImage(named: imagename)!) }}func startAnimation() -> VoID { purpleRing.animationImages = imageArray purpleRing.animationDuration = 5.0 purpleRing.startAnimating()}func startAnimation2() -> VoID { beforeCountdownAnimation.animationImages = imageArray2 beforeCountdownAnimation.animationDuration = 1.0 beforeCountdownAnimation.startAnimating()}@IBAction func startAnimations(sender: AnyObject) { startAnimation() startAnimation2()}解决方法 嗯,可能之前回答过,但你可以使用Grand Central dispatch dispatc_aysnc.
我们的想法是,您知道动画持续时间,因此您可以使用它来告诉GDC何时执行下一个代码.所以类似于:
// call animation 1,which you specifIEd to have 5 second durationCGfloat animation1Duration = 5.0;CGfloat animation2Duration = 7.0;playAnimation1WithDuration(animation1Duration);// calling second animation block of code after 5.0 using GDCdispatch_after(dispatch_time(disPATCH_TIME_Now,Int64(animation1Duration * Double(NSEC_PER_SEC))),dispatch_get_main_queue(),{ () -> VoID in print("5.0 has passed"); // call second animation block here playAnimation2WithDuration(animation2Duration);});总结
以上是内存溢出为你收集整理的ios – 如何在Swift中开始下一个动画之前等待一个动画完成?全部内容,希望文章能够帮你解决ios – 如何在Swift中开始下一个动画之前等待一个动画完成?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)