Что произойдет, если вы удалите эти две строки?
group.fillMode = kCAFillModeForwards;
group.removedOnCompletion = NO;
Что вы говорите основной анимации с этими строками, так это то, что вы хотите, чтобы она продолжала отображать в прямом (окончательном)) состояние анимации.Между тем, вы на самом деле не устанавливали преобразование на слое, чтобы иметь свойства, которые вы использовали для анимации.Это может привести к тому, что вещи будут не синхронизированы.
Теперь проблема, с которой вы столкнетесь, заключается в том, что удаление этих строк заставит ваши преобразования вернуться в исходное состояние после завершения анимации.Что вам нужно сделать, это на самом деле установить преобразования на слое, чтобы они удерживали свою позицию, когда анимация завершится.
Другой вариант - оставить две строки внутри, а затем фактически удалить анимацию из слоя, а не устанавливать фрейм слоя, как вы упоминали, когда будете готовы вернуться к исходному состоянию.Вы делаете это с помощью:
[theView.layer removeAnimationForKey:@"MyAnimation"];
Свойство -removedOnCompletion приказывает слою не удалять анимацию после его завершения.Теперь вы можете явно удалить его, и он должен вернуться обратно.
HTH.