Swift 2 - 等到动画在循环内完成

时间:2016-06-14 14:22:41

标签: swift

所以这个解决方案对我来说非常合适 Wait until animation finishes before moving on Swift

最初,我有19个不同功能的19个物体。

然而: 因为每个函数的动画非常相似,所以我创建了一个带有所需参数的函数。现在我遍历一个包含所需参数的数组,并为每个项调用函数。 但所有的动画都是一次又一次地发生的。 我该怎么做才能让动画一个接一个地发生?

override func viewDidLoad() {
    super.viewDidLoad()
    for key in hexagonValues.keys {
        animateLabel(key)
    }
}

    func animateSums(key: String, inout delayBy: Double) {
    let sumText = UILabel()

    for number in hexagonValues[key]! {
        if sumText.text == nil {
            sumText.text = String(number)
        }
        else {
            sumText.text = sumText.text! + "+" + String(number)
        }
        UIView.animateWithDuration(3, delay: delayBy, options: [ .Autoreverse, .CurveEaseInOut], animations: {
            self.flipAlpha((self.hexagons[number])!, myalpha: 0)
        }) { _ in
            UIView.animateWithDuration(3, delay: delayBy, options: [ .Autoreverse, .CurveEaseInOut], animations: {
                self.flipAlpha((self.hexagons[number])!, myalpha: 1)
            }) { _ in

            }
        }
        delayBy = delayBy + 10
    }
    animateTotal(key, sumText: sumText, delayBy: &delayBy)
}

0 个答案:

没有答案