#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
используется для анимации изменения ориентации).
Спасибо, -Кивен чаевые