第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

金額跳動動畫效果

標(biāo)簽:
Android iOS

金额跳动效果

前言

金额效果,因为觉得公司目前的金额太乏味,决定加点效果,也特此写了个小demo,代码非常简单,贴代码方便大家看看

通过 runtime 建立属性(setter/getter方法)

/** 由于分类中要添加属性,所以通过runtime方法来实现 */
- (void)setAnimatedNumber:(NSNumber *)animatedNumber {
    objc_setAssociatedObject(self, "animatedNumber", animatedNumber, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

- (NSNumber *)animatedNumber {
    return objc_getAssociatedObject(self, "animatedNumber");
}

- (void)setTimer:(NSTimer *)timer {
    objc_setAssociatedObject(self, "timer", timer, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

- (NSTimer *)timer {
    return objc_getAssociatedObject(self, "timer");
}

- (void)setValueString:(NSString *)valueString {
    objc_setAssociatedObject(self, "valueString", valueString, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

- (NSString *)valueString {
    return objc_getAssociatedObject(self, "valueString");
}

变量初始化以及定时器

- (void)dw_setNumber:(NSNumber *)number {
    [self dw_setNumber:number duration:5.0];  //这里,我写5秒,是为了方便我录gif,使用中可以改为1或者2
}

显示金额动画

- (void)changeAnimation:(NSTimer *)timer{

    NSMutableDictionary *info = timer.userInfo;
    int begin = (int)[info objectForKey:kBeginNumberKey];
    int end = ((NSNumber *)[info objectForKey:kEndNumberKey]).intValue;
    int range = ((NSNumber *)[info objectForKey:kRangeNumberKey]).intValue;

    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
    [formatter setNumberStyle:NSNumberFormatterNoStyle];
    [formatter setFormatWidth:9];
    [formatter setPositiveFormat:@",##0.00"];

    int value = self.valueString.intValue;

    if (value == 0) {
        self.valueString = [NSString stringWithFormat:@"%d", begin];
        self.text = [NSString stringWithFormat:@"%.@",[formatter stringFromNumber:@(begin)]];
    } else if (value >= end) {
        self.text = [NSString stringWithFormat:@"%.@",[formatter stringFromNumber:@(end)]];
        [self.timer invalidate];
        self.timer = nil;
        return;
    } else {
        value += range;
        self.valueString = [NSString stringWithFormat:@"%d", value];
        self.text = [NSString stringWithFormat:@"%.@",[formatter stringFromNumber:@(value)]];

    }

}



代码传送门

點(diǎn)擊查看更多內(nèi)容
5人點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消