CAAnimation предоставляет свойство removedOnCompletion, которое по умолчанию имеет значение YES.
Признать эти факты:
A) Core Animation влияет только на Дерево презентаций, но не на Дерево моделей. Когда анимация завершена, вы увидите все, что установлено в Дереве моделей. Например, вы можете установить fillMode на kCAFillModeBoth, который будет заменять значение из дерева презентаций на Дерево моделей после завершения анимации. Это заставляет вашу анимацию не возвращаться назад (что, скорее всего, вам нужно).
B) Я сделал эксперимент. removedOnCompletion = NO не будет иметь тот же эффект, что и kCAFillModeBoth или kCAFillModeForwards. Точнее: это абсолютно не влияет на то, как выглядит результат при анимации. Wether он "удален" или нет, он, кажется, вообще не влияет на Дерево презентаций.
Чтобы объяснить, что на самом деле удалено, но документация слишком слаба в этом отношении. Я не понимаю. Может ли кто-нибудь объяснить, что именно будет удалено, и какова польза от его отсутствия?
Я предполагаю, что Apple говорит о самом объекте аниматора, который добавляется к слою с помощью -addAnimation: forKey:... но опять же: Какая точка его хранения?