類似餘額寶數值增加的動畫

最近項目中有需求要做一個類似餘額寶數值增加的動畫:

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];
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章