- VC asks
transitioningDelegate
“do you have an animated transition for me?” - delegate says “yes here is an
<AnimatedTransitioning>
object” - framework says “hey
<AnimatedTransitioning>
object; perform the transition, and here’s the<ContextTransitioning>
that defines the container view, the from vc, the to vc, the frames, etc. tell the context when you’re done” <AnimatedTransitioning>
value does the animation and tells the<ContextTransitioning>
value when it’s done- fin
- VC asks
transitioningDelegate
“do you have an interactive transition for me?” - delegate says “yes, here is an
<InteractiveTransitioning>
and an<AnimatedTransitioning>
- framework says “hey
<InteractiveTransitioning>
, start the transition, and report your progress to this<ContextTransitioning>
- the
<InteractiveTransitioning>
starts tracking interaction and reporting progress to the<ContextTransitioning>
- the
<InteractiveTransitioning>
tells the<ContextTransitioning>
the interaction is done and the transition should either be aborted or completed - the frameworks says “hey
<AnimatedTransitioning>
, animate the ui to either the initial or final states and tell the<ContextTransitioning>
when you’re done - the
<AnimatedTransitioning>
value does the animation and tells the<ContextTransitioning>
when it’s done - fin
by @davedelong