Вы захотите использовать класс CAAnimationGroup.Создайте массив, содержащий нужные вам анимации, и присвойте свойству AnimationGroup animations
этот массив.CAAnimationGroup является подклассом CAAnimation, поэтому вы можете добавить его в слой, используя [layer addAnimation:forKey:]
, как если бы вы использовали обычную анимацию.После добавления в слой все анимации в группе выполняются одновременно.
Я бы предложил сначала прочитать CAAnimationGroup Reference .Есть ряд деталей реализации, которые стоит понять, прежде чем использовать их.Например:
- Свойство
delegate
отдельных анимаций игнорируется. - Свойство
removeOnCompletion
отдельных анимаций игнорируется. - AnimationGroup имеет своюсобственные свойства
delegate
и removeOnCompletion
. - Анимации не масштабируются по времени для группы, поэтому, если продолжительность отдельной анимации превышает длительность объекта группы, она будет прервана в концепродолжительности группы.
- Свойство
animations
CAAnimationGroup копируется, а не сохраняется.