Анимация iPhone Core не работает гладко? - PullRequest
0 голосов
/ 10 октября 2010

В моем приложении есть следующий основной код анимации:

-(void)startCoreAnimation

    [UIView beginAnimations:@"IconFade" context:Icon];
   [UIView setAnimationCurve:UIViewAnimationCurveLinear];
   [UIView setAnimationDuration:1];

   [UIView setAnimationRepeatAutoreverses:YES];
   [UIView setAnimationDelegate:self];
   [UIView         setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];

   icon.alpha=0.0;
   [UIView commitAnimations];
   break;

А потом, когда анимация заканчивается:

-(void)animationFinished : (NSString *)theAnimation finished : (BOOL)flag context : (void *)context {


 ((UIView *)context).alpha = 1.0;
 ((UIView *)context).transform = CGAffineTransformIdentity;

 [self startCoreAnimation];

}

Проблема в том, что после завершения анимации значок "переходит обратно в его альфа-состояние 1. Похоже, что значок исчезает, затем исчезает, затем переходит в альфа-0, а затем обратно в альфа-1. Между двумя последними шагами (от альфа-0 до альфа-1) существует небольшой разрыв, который вызываетзаикание.Кто-нибудь может помочь?

Спасибо,

Мартин

1 Ответ

0 голосов
/ 11 октября 2010

Если вы просто хотите зациклить анимацию, вы также можете использовать

[UIView setAnimationRepeatCount:1e100f];

Согласно документации :

Установка repeatCount на 1e100f будет заставить анимацию повторяться до удаляется из слоя.

...