【发布时间】:2014-12-01 22:25:20
【问题描述】:
如何在 Swift 中等待一个动画完成后再开始下一个动画?我一直在搞乱if animation.animationDidStop... {},但它不起作用。
到目前为止,这是我的一些代码:
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()
}
【问题讨论】:
-
使用
class func animateWithDuration(_ duration: NSTimeInterval, animations animations: () -> Void, completion completion: ((Bool) -> Void)?)并在完成时调用第二个动画? -
我将如何在我的代码中实现这一点? :)
-
抱歉,我看错了,您使用的是动画图像。我建议你在 Swift 中使用等价的:stackoverflow.com/questions/9283270/…
标签: ios xcode swift uianimation