【问题标题】:Chaining UIView animations (in a loop)链接 UIView 动画(循环)
【发布时间】:2015-07-24 19:48:38
【问题描述】:

我正在尝试通过使用 for 循环遍历值数组来为标签设置动画:

let valuestoshow = ["12","25","43","34","100", "7"]

for values in valuestoshow {    
        UIView.animateWithDuration(0.9, animations: {

        self.label.alpha = 0.0
        self.label.text = values
        self.label.alpha = 1.0

            }, completion: nil)    
 }

似乎不知何故 for 循环比动画快,我最终只得到最后一个值 7 动画。如何让动画显示每个 valuestoshow 组件?

【问题讨论】:

    标签: swift uikit


    【解决方案1】:

    这就是 completion 参数的用途。通过从上一个动画的完成处理程序开始下一个动画来链接您的动画。

    【讨论】:

    • 感谢您的回答,我不确定我是否理解。我应该在完成处理程序中调用相同的动画吗?这不会破坏循环的目的吗?
    • 是的,那么您当然不需要循环。您仍然需要通过弹出列表或保留索引变量来维护迭代变量。
    猜你喜欢
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多