仿照余额宝余额动态变动
生活随笔
收集整理的這篇文章主要介紹了
仿照余额宝余额动态变动
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
仿照余額寶余額動態變動
@implementation yuebaoView { NSTimer *_yesterdayIncomeLabelAnimationTimer; NSTimer *_totalMoneyAmountLabelAnimationTimer;}- (void)setNumberTextOfLabel:(UILabel *)label WithAnimationForValueContent:(CGFloat)value {CGFloat lastValue = [label.text floatValue];CGFloat delta = value - lastValue;if (delta == 0) return;if (delta > 0) {CGFloat ratio = value / 60.0;NSDictionary *userInfo = @{@"label" : label,@"value" : @(value),@"ratio" : @(ratio)};NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.02 target:self selector:@selector(setupLabel:) userInfo:userInfo repeats:YES];if (label == self.yesterdayIncomeLabel) {_yesterdayIncomeLabelAnimationTimer = timer;} else {_totalMoneyAmountLabelAnimationTimer = timer;} } }- (void)setupLabel:(NSTimer *)timer { NSDictionary *userInfo = timer.userInfo; UILabel *label = userInfo[@"label"]; CGFloat value = [userInfo[@"value"] floatValue]; CGFloat ratio = [userInfo[@"ratio"] floatValue];static int flag = 1; CGFloat lastValue = [label.text floatValue]; CGFloat randomDelta = (arc4random_uniform(2) + 1) * ratio; CGFloat resValue = lastValue + randomDelta;if ((resValue >= value) || (flag == 50)) {label.text = [NSString stringWithFormat:@"%.2f", value];flag = 1;[timer invalidate];timer = nil;return; } else {label.text = [NSString stringWithFormat:@"%.2f", resValue]; }flag++;}總結
以上是生活随笔為你收集整理的仿照余额宝余额动态变动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue 移动端校验(是否移动设备,安卓/
- 下一篇: 从kernel源码进阶C语言