CAKeyframeAnimation по завершению

У меня есть несколько объектов CAKeyframeAnimation в моем классе.
Все они имеют себя в качестве делегата.

В моей функции animationDidStop как узнать, откуда поступил вызов?
Есть ли переменная, которую я могу передать CAKeyfameAnimation, как animationID или что-то?

Спасибо,
тройник

1 ответ

Решение

Вы можете использовать кодирование значения ключа для установки значений для произвольных ключей (ключи не должны быть определены заранее) для объекта CAAnimation.

Например, вы можете установить значение для ключа @"tag" для каждого объекта CAAnimation следующим образом:

CAAnimation oneOfYourAnimations = [CAAnimation animation];
[oneOfYourAnimations setValue:@"dropAnimation" forKey:@"tag"];

Позже вы можете прочитать значение каждого объекта следующим образом:

[anAnimation valueForKey:@"tag"]; //will return @"dropAnimation" if it's the previous animation
Другие вопросы по тегам