iphone animation - ловить уведомления - PullRequest
0 голосов
/ 28 мая 2010

Я использую следующие строки кода для анимации:

CATransition *animation = [self getAnimation:dirString];
    [[self view] exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
    [[[self view] layer] addAnimation:animation forKey:kAnimationKey];

После завершения анимации я хочу воспроизвести звук.Как я могу получить уведомление о завершении анимации?

1 Ответ

1 голос
/ 28 мая 2010

CATransition является подклассом CAAnimation, поэтому он наследует (среди прочего) свойство delegate и метод делегата с именем animationDidStop:finished:. Определите этот метод в любом классе, который вы хотите обработать, и установите свойство delegate анимации для объекта этого класса. Когда анимация заканчивается, делегату отправляется сообщение animationDidStop:finished:.

Например:

AnimationDelegate.m
@implementation AnimationDelegate

- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag
{
     //Handle whatever needs to be done after the animation stops
}

ClassUsingAnimation.m
@implementation ClassUsingAnimation
{
    AnimationDelegate *customDelegate = [[AnimationDelegate alloc] init];
    CATransition *animation = [self getAnimation:dirString];
      animation.delegate = customDelegate;
      [[self view] exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
      [[[self view] layer] addAnimation:animation forKey:kAnimationKey];
    [customDelegate release];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...