Как узнать / проверить, когда анимация закончилась - PullRequest
1 голос
/ 31 декабря 2011

Я запускаю анимацию нажатием кнопки. Вот код для кнопки:

-(IBAction)startAnimation:(id)sender{
stick.animationImages = [NSArray arrayWithObjects:
                         [UIImage imageNamed:@"photo 1.JPG"],
                         [UIImage imageNamed:@"photo 2.JPG"],
                         [UIImage imageNamed:@"photo 3.JPG"],
                         [UIImage imageNamed:@"photo 4.JPG"],
                         [UIImage imageNamed:@"photo 5.JPG"],nil];
[stick setAnimationRepeatCount:200];
stick.animationDuration = 0.5;
[stick startAnimating];
}

и когда анимация закончится, я хочу, чтобы появилась кнопка для воспроизведения другой анимации на экране. Как я могу проверить или увидеть, когда моя анимация закончится? Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 31 декабря 2011

Вы не сказали нам, что такое stick, но похоже на UIImageView. Вы можете позвонить только по номеру isAnimating, чтобы проверить, запущена ли анимация, но вы не получили никакого уведомления и также не получили делегата. Вы можете рассчитать время остановки (200 * 0,5) и, таким образом, установить таймер (добавить небольшой запас прочности). Это не будет на 100% правильно, но может быть «достаточно хорошо».

0 голосов
/ 31 декабря 2011

Если вы вызывали свою анимацию, используя блоки, вы могли бы использовать блок завершения.

Вот учебник, на который вы можете сослаться , который показывает пару различных способов вызова процедур анимации в iOS,В этом руководстве также показано, что вы можете сделать для завершения, если вам не хочется использовать блоки (а именно метод UIView setAnimationDidStopSelector).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...