Вы правы, что вам придется снова добавлять анимацию к CALayer
, когда приложение снова выходит на передний план.
Вам необходимо удалить их при получении обратного вызова applicationWillResignActive
. При желании вы можете проверить presentationLayer
, чтобы получить отображаемые в данный момент параметры - или почти как - экранные свойства.
Затем, когда ваше приложение снова станет активным согласно обратному вызову applicationDidBecomeActive
, добавьте анимацию заново.
Ваше приложение может перейти из активного в неактивное состояние по ряду причин, например, прием звонка, смс, будильник, пользователь нажимает кнопку домой и т. д.
Посмотрите на мой ответ на этот вопрос, где я расскажу о некоторых проблемах с возобновлением CAAnimation
:
Восстановление анимации там, где она остановилась, когда приложение возобновляет работу из фона