Swift2 如何在swift中设置UILabel中递增数字的动画
我有一个标签显示一个数字,我想把它改成一个更高的数字,但是,我想给它添加一点flare。我想让数字增加到更高的数字,并有一个缓进-缓出曲线,这样它会加速然后减速。请问,如何在swift中实现这一点,这是我的代码。谢谢Swift2 如何在swift中设置UILabel中递增数字的动画,swift2,nstimer,uianimation,xcode7.1,ios9.2,Swift2,Nstimer,Uianimation,Xcode7.1,Ios9.2,我有一个标签显示一个数字,我想把它改成一个更高的数字,但是,我想给它添加一点flare。我想让数字增加到更高的数字,并有一个缓进-缓出曲线,这样它会加速然后减速。请问,如何在swift中实现这一点,这是我的代码。谢谢 let newValue : Double = 1000 let oldValue : Double = 500 timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: Se
let newValue : Double = 1000
let oldValue : Double = 500
timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: Selector("countAnimation:"), userInfo: ["oldValue":oldValue, "newValue": newValue], repeats: true)
func countAnimation(timer: NSTimer)
{
let dict = timer.userInfo as? [String:AnyObject]
var OldTotalValue : Double = (dict!["oldValue"] as? Double)!
let newTotalValue : Double = (dict!["newValue"] as? Double)!
OldTotalValue = OldTotalValue + 10
if newTotalValue < OldTotalValue
{
timer.invalidate()
}
else
{
mylabel.text = String(OldTotalValue)
}
}
let newValue:Double=1000
让oldValue:Double=500
timer=NSTimer.scheduledTimerWithTimeInterval(0.1,目标:self,选择器:选择器(“countAnimation:”),用户信息:[“oldValue”:oldValue,“newValue”:newValue],重复:true)
func countAnimation(计时器:NSTimer)
{
让dict=timer.userInfo为?[字符串:AnyObject]
var OldTotalValue:Double=(dict![“oldValue”]as?Double)!
让newTotalValue:Double=(dict![“newValue”]作为?Double)!
OldTotalValue=OldTotalValue+10
如果newTotalValue
我对swift不太熟悉。但我以前用抛物线实现过
具体来说,发生的事情或多或少是基础代数。有一个图形,在一个轴上有一个值x,然后在时间轴上有一个值y。您希望每个动画之间的时间延迟增加,直到达到平台
例如:
x=1延时=100ms,x=2延时=200ms,x=3延时=310ms,x=4延时=430ms
请注意,每一次增加都比前一次多
从数学上来说,要得到这样的斜率,你可以坐在一个公式前面,比如:
y=-x+x^2
播放直到你得到一个输出,这样每增加一个x,你的延迟就相当于一个很好的减速,在动画中看起来很干净
谢天谢地,苹果公司提供了可以做到这一点的库,我通过快速搜索找到了它:
UIViewAnimationOptions.CurveEaseOut
此库将为您提供一条快速启动然后减速的曲线,以下是其余曲线请检查:
func countAnimation(timer: NSTimer)
{
UIView.transitionWithView(label,
duration: 1.0,
options: [.CurveEaseInOut],
animations: { () -> Void in
// Write your code here
}, completion: nil)
}
你能更准确地描述一下它应该是什么样子吗?例如,旧值是否应淡出,而新值是否应在同一位置淡入?还是旧的一个在新的一个在进来的时候,像一个拾荒者一样,把它放在一边?或者你的目标是什么?可能重复: