动画UITextView增加或减少数字的值

时间:2013-09-15 00:47:25

标签: ios objective-c animation core-animation uitextview

我有一个显示值的UITextView(例如“32039”)。经常在我的应用程序中,我更改该数字的值,但想要设置值的增加或减少的动画。我想到的动画就像this。我已经看过this个问题但是使用答案中描述的方法可能的唯一动画就是淡入/淡出,从左/右/向下/向上移动,以及显示/推送。是否有这个动画的UIKit或Core Animation实现,甚至是第三方库中的实现,还是应该自己动手?

1 个答案:

答案 0 :(得分:2)

//像这样的东西会起作用

@property (nonatomic, strong) UILabel *testLabel;

@property (nonatomic, strong) NSTimer *timer;

@property (nonatomic, assign) NSUInteger counter;

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.testLabel = [[UILabel alloc] initWithFrame:CGRectMake(50.0f, 100.0f, 80.0f, 25.0f)];
    self.testLabel.text = @"44";
    [self.view addSubview:self.testLabel];

    self.timer = [NSTimer timerWithTimeInterval:.5 target:self selector:@selector(changeLabelText) userInfo:nil repeats:YES];
    [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSDefaultRunLoopMode];
    [self.timer fire];
}

- (void)changeLabelText {
    self.counter++;
    if (self.counter == 100000) {
         [self.timer invalidate];
    }

    self.testLabel.text = [NSString stringWithFormat:@"%d", (44 + self.counter)];
}