3.2.0

This minor release introduces new features for presentation, view snapshotting, and defered transition work. There is also a new photo album example demonstrating how to build a contextual transition in which the context may change.

New features

Transition context now has a deferToCompletion: API for deferring work to the completion of the transition.

// Example (Swift):
foreImageView.isHidden = true
context.defer {
  foreImageView.isHidden = false
}

MDMTransitionPresentationController is a presentation controller that supports presenting view controllers at custom frames and showing an overlay scrim view.

The new MDMTransitionViewSnapshotter class can be used to create and manage snapshot views during a transition.

let snapshotter = TransitionViewSnapshotter(containerView: context.containerView)
context.defer {
  snapshotter.removeAllSnapshots()
}

let snapshotView = snapshotter.snapshot(of: view, isAppearing: context.direction == .forward)

Source changes

API changes

MDMTransitionContext

new method: deferToCompletion:. Defers execution of the provided work until the completion of the transition.

MDMTransitionPresentationController

new class: MDMTransitionPresentationController. A transition presentation controller implementation that supports animation delegation, a darkened overlay view, and custom presentation frames.

MDMTransitionViewSnapshotter

new class: MDMTransitionViewSnapshotter. A view snapshotter creates visual replicas of views so that they may be animated during a transition without adversely affecting the original view hierarchy.

Non-source changes

3.1.0

This minor release resolves a build warning and introduces the ability to customize navigation controller transitions.

New features

  • MDMTransitionNavigationControllerDelegate makes it possible to customize transitions in a UINavigationController.

Source changes

API changes

MDMTransitionNavigationControllerDelegate

new class: MDMTransitionNavigationControllerDelegate.

3.0.1

Fixed the umbrella header name to match the library name.

3.0.0 (MotionTransitioning)

The library has been renamed to MotionTransitioning.


Prior releases under the library name MaterialMotionTransitioning.

2.0.0 (MaterialMotionTransitioning)

The library has been renamed to MaterialMotionTransitioning.

New features

  • TransitionContext now exposes a presentationController property.

Source changes

API changes

Auto-generated by running:

apidiff origin/stable release-candidate objc src/MaterialMotionTransitioning.h

MDMTransitionContext

new property: presentationController in MDMTransitionContext

Non-source changes


Prior releases under the library name Transitioning.

1.1.1

This is a patch fix release to address build issues within Google's build environment.

Source changes

Non-source changes

1.1.0

This minor release introduces two new features to the Transition protocol family.

New features

API changes

MDMTransitionWithFallback

new protocol: MDMTransitionWithFallback

new method: -fallbackTransitionWithContext: in MDMTransitionWithFallback

MDMTransitionWithCustomDuration

new protocol: MDMTransitionWithCustomDuration

new method: -transitionDurationWithContext: in MDMTransitionWithCustomDuration

MDMTransitionController

new property: activeTransition in MDMTransitionController

1.0.0

Initial release.

Includes support for building simple view controller transitions and transitions that support custom presentation.

Source changes

Non-source changes