1

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

4

1 回答 1

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)];
}
于 2013-09-15T03:57:55.210 回答