Уровень представления представления осуществляется анимацией, даже если он остановлен. При удалении анимации уровень представления будет возвращен к значению уровня модели представления, поэтому вы получите результат, как указано.

mation предоставляет свойство removeOnCompletion, которое по умолчанию имеет значение YES.

Давайте признаем эти факты:

А) Базовая анимация влияет только на дерево презентаций, но не на дерево моделей. Когда анимация завершена, вы видите все, что установлено в дереве моделей. Например, вы можете установить fillMode на kCAFillModeBoth, который будет заменять значение из дерева презентаций на дерево моделей после завершения анимации. Это заставляет вашу анимацию не возвращаться назад (что наиболее вероятно, что вы хотите).

Б) Я сделал эксперимент. removeOnCompletion = НЕТ будетНЕ имеют тот же эффект, что и kCAFillModeBoth или kCAFillModeForwards. Чтобы быть более точным: он абсолютно не влияет на то, как выглядит результат, когда анимация завершена. Независимо от того, «удалено» оно или нет, оно, похоже, никак не влияет на Дерево презентаций.

Чтобы объяснить, что на самом деле делает removeOnCompletion, документация слишком слаба в этом отношении. Я не понимаю Может кто-нибудь объяснить, что именно будет удалено, и какая польза от его удаления?

Я предполагаю, что Apple говорит о самом объекте-аниматоре, который добавляется в слой с помощью -addAnimation: forKey: ... но опять же: какой смысл держать его?

Ответы на вопрос(3)

Ваш ответ на вопрос