我想要对一个标签的文本进行动画处理,如果值大于某个数,则将文本颜色更改为蓝色;如果值小于某个数,则将文本颜色更改为红色;否则保持原始的“黑色”颜色。
但是,UIView.animateWithDuration()
会永久地将颜色更改为蓝色。我想要做的是,如果值大于或小于某个数,我希望将标签颜色更改为蓝色或红色,并在几秒钟后将其颜色返回到黑色。
这是我的代码:
@IBOutlet weak var label: UILabel!
let x = 10
let y = 20
if x > y
{
UIView.animateWithDuration(2,animations:
{ () -> Void in self.label.textColor = UIColor.blueColor(); })
}
else if y < x
{
UIView.animateWithDuration(2,animations:
{ () -> Void in self.label.textColor = UIColor.redColor(); })
}
else
{
self.label.textColor = UIColor.blackColor()
}
我曾尝试使用以下方法调用Sleep
函数,但没有成功。
self.label.textColor = UIColor.blueColor()
sleep(3)
self.label.textColor = UIColor.blackColor()