【发布时间】:2015-10-05 09:59:04
【问题描述】:
我试图在视图出现时为 UILabel 的值设置动画。因此我创建了这个功能。
private func animateIncrementUILabel(label: SpringLabel, labelValue: Int, animationPeriod: Float?)
{
animationPeriod != nil ? animationPeriod! : 40
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), {
for (var i = 0; i < labelValue; i++)
{
usleep(UInt32(animationPeriod!)/100 * 1000000)
dispatch_async(dispatch_get_main_queue(), {
label.text = String(i)
})
}
})
}
但是当在我的 viewDidAppear 方法中调用它时,比如
animateIncrementUILabel(counterLabelOne, labelValue: 20, animationPeriod: 40.0)
它直接在标签中显示值,没有“动画增量”。
我在这里做错了什么?
【问题讨论】:
-
删除那些调度块并使用 NSTimer.Schdule 活动而不是睡眠
标签: ios swift animation grand-central-dispatch swift2