【发布时间】:2015-02-10 08:30:40
【问题描述】:
目前我这样做是为了制作倒计时动画。有没有更聪明的方法来做到这一点? 使用协议通知代理动画已完成是否聪明?
您可以在以下位置下载我目前正在处理的代码:
https://github.com/madeTK/TKAnimations.git
感谢任何cmets。
override func viewDidLoad() {
super.viewDidLoad()
self.threeTwoOneCounter()
}
func threeTwoOneCounter() {
let fadeInTime:Double = 1.0
let fadeOutTime:Double = 0.5
let label = UILabel(frame: CGRectMake(self.view.bounds.width/2-50,100,100,100))
label.text = "3"
label.font = UIFont(name: "Arial", size: 50)
label.textColor = UIColor.blackColor()
label.textAlignment=NSTextAlignment.Center
label.alpha = 0.0
self.view.addSubview(label)
UIView.animateWithDuration(fadeInTime, animations: { () -> Void in
label.alpha = 1.0
}) { (Bool) -> Void in
UIView.animateWithDuration(fadeOutTime, animations: { () -> Void in
label.alpha = 0.0
}, completion: { (Bool) -> Void in
label.text = "2"
UIView.animateWithDuration(fadeInTime, animations: { () -> Void in
label.alpha = 1.0
}, completion: { (Bool) -> Void in
UIView.animateWithDuration(fadeOutTime, animations: { () -> Void in
label.alpha = 0.0
}, completion: { (Bool) -> Void in
label.text = "1"
UIView.animateWithDuration(fadeInTime, animations: { () -> Void in
label.alpha=1.0
}, completion: { (BOOl) -> Void in
UIView.animateWithDuration(fadeOutTime, animations: { () -> Void in
label.alpha = 0.0
}, completion: { (Bool) -> Void in
println("done.maybe calling delegate now")
})
})
})
})
})
}
【问题讨论】: