как сделать анимацию приращения чисел в xcode - PullRequest
0 голосов
/ 17 марта 2012

Я хочу анимировать приращение чисел, начиная с 1 до предела (переменной), продолжительность анимации составляет 1,5 секунды. каждый раз, когда я вызываю метод, эта анимация должна работать (приращение анимации от 0 до (например, 70). int j = 1;

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration: 1.5]; 
[UIView setAnimationDelegate: self];

do{
self.label.text=[NSString stringWithFormat:@"%ï", j];
}

while(j<=limit);

 [UIView commitAnimations];

Помогите, пожалуйста, оживить приращение чисел .....

1 Ответ

3 голосов
/ 17 марта 2012

Вы не можете сделать что-то подобное.Вы можете анимировать только анимируемые свойства представления.Это: frame, bounds, center, transform, alpha, backgroundColor и contentStretch.

Вы хотите использовать NSTimer который обновляет метку каждые 1,5 секунды.

Возможно, что-то в этом роде:

- (void)startAnimationWithLimit:(NSInteger)limit {
    self.limit = limit;
    self.timerFireCount = 0;
    [self.timer invalidate];        // stop timer if one is running already
    self.timer = [NSTimer scheduledTimerWithTimeInterval:1.5f target:self selector:@selector(timerFired:) userInfo:nil repeats:YES];
}

- (void)timerFired:(NSTimer *)timer {
    self.timerFireCount++;
    self.label.text = [NSString stringWithFormat:@"%i", self.timerFireCount];
    if (self.timerFireCount > self.limit) {
        [timer invalidate];
        self.timer = nil;
        self.label.text = @"Press start";
    }
}

и затем запустите таймер с [self startAnimationWithLimit:70];

...