Переход как явная анимация

#iphone #cocoa-touch #core-animation #catransition

#iPhone #cocoa-touch #ядро-анимация #переход

Вопрос:

Приветствую всех.

Кто-нибудь знает, возможно ли по существу преобразовать CATransition в явную анимацию? То есть, я почти хочу, чтобы она вела себя так, как CABasicAnimation ведет — мне нужно иметь возможность создать CATransition объект, задать для него параметры ( duration , timingFunction , delegate type , fillMode removedOnCompletion , CATransition ,, и т.д.) — Затем, по сути, сохранить его для последующего использования и убедиться, что он не пытается анимировать вещи, которые происходят между созданиемп объекта и моментом времени, в который мне действительно нужно, чтобы он анимировал набор свойств.

Если я использую CABasicAnimation , я могу легко это сделать, поскольку ничего не анимируется, пока анимация не будет добавлена к слою, и только свойство, указанное в animationWithKeyPath , анимируется между значением toValue / fromValue. Однако, CATransition по-видимому, срабатывает [CATransaction begin] в тот момент, когда вы создаете объект анимации для фиксации изменений свойств.

Что мне нужно уметь делать (как указано выше), так это создать CATransition объект, установить вышеуказанные параметры, затем отложить его до тех пор, пока мне действительно не понадобится его использовать — в этот момент я изменю фактические свойства, которые ему нужно анимировать, затем добавлю его в соответствующий CALayer via addAnimation .

Кто-нибудь знает, как сделать это безопасно?

PS: Причина этого в том, что мое приложение сильно зависит от пользовательской системы очередей анимации, которая обрабатывает зависимости анимации. Например, определенные вещи необходимо анимировать до того, как произойдет изменение ориентации, поэтому я могу поставить в очередь ~ 10 анимаций, которые все будут запущены, а также объект анимации изменения ориентации, но анимация изменения ориентации не будет запускаться до завершения предыдущих анимаций, от которых это зависит. Кстати, CABasicAnimation может быть красиво преобразован в класс объектов анимации в очереди. CATransition кажется, это немного другой зверь, отсюда и приведенный выше вопрос — мне нужно иметь возможность безопасно создавать объект очереди анимации, настраивать кучу CATransition параметров, ставить его в очередь, а затем фактически запускать его позже (тем временем происходят всевозможные вещи), когда все его зависимости будут удовлетворены (в данном случае, CATransition используется для анимации изменения ориентации).

Спасибо, -Кивен чаевые