相似剩余金额宝数值添加的动画

近期项目中有需求要做一个类似剩余金额宝数值添加的动画:

Demo下载地址


//启动定时器
    [NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(timerFireMethod:) userInfo:nil repeats:YES];

/**
 *	@brief	计时方法
 *
 *	@param 	theTimerP 	NSTimer
 */
#pragma mark - 计时方法
- (void)timerFireMethod:(NSTimer *)theTimerP
{
    //依据数值大小推断平均添加值
    float aver = 1;
    if (self.result>1000){
        aver = 100;
    }else if (self.result>100){
        aver = 200;
    }else if (self.result>10){
        aver = 500;
    }else{
        aver = 800;
    }
    //添加平均值
    self.index += self.result/aver;
    //推断是否达到随机数值
    if (self.index<self.result) {
        //推断随机数是否小于10
        if (self.result<=10) {
            //小于等于10,添加时显示小数点后两位
            self.lab.text = [NSString stringWithFormat:@"%.2f",self.index];
        }else{
            //否则,添加时不显示小数位
            self.lab.text = [NSString stringWithFormat:@"%.0f",self.index];
        }
    }else {
        //达到随机数值
        //開始值设置为初始值
        self.index = 0;
        //标签设置为随机数值
        self.lab.text = [NSString stringWithFormat:@"%.0f",self.result];
        //关闭计时器
        [theTimerP invalidate];
    }
}


posted @ 2017-04-28 10:01  jzdwajue  阅读(162)  评论(0)    收藏  举报