Автоматически ли удаляются анимации из слоев при переключении viewcontrollers?

#iphone #ios #cocoa-touch #core-animation

#iPhone #iOS #cocoa-touch #ядро-анимация

Вопрос:

Я настроил простую CAKeyframeAnimation с бесконечным количеством повторений и добавил ее в слой. Все в порядке, за исключением того, что анимация удаляется, когда я переключаюсь на другую вкладку (или, скорее всего, любой другой механизм изменения активного контроллера просмотра).

Задокументировано ли это где-нибудь, возможно, новое в iOS 5, и есть ли другое решение, кроме повторного запуска анимации в viewWillAppear? В этом случае временная база не имеет значения, запуск анимации с момента 0 будет в порядке.

Ответ №1:

Вы не должны выполнять какую-либо работу с View, пока его нет на экране, потому что это просто пустая трата ресурсов iPhone. Кроме того, ваше приложение может получить предупреждение о памяти, и просмотр будет выгружен. ИМХО лучший подход — настроить графику -(void) viewWillAppear и запустить анимацию -(void) viewDidAppear .

P.S. В -(void) viewDidLoad параметрах frame of view все еще недопустимы, и если вы попытаетесь их использовать, вы можете что-то сделать неправильно.

Комментарии:

1. Это вообще не отвечает на мой вопрос.

2. Просто запустите анимацию -viewWillAppear , и все будет в порядке.

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