This major change introduces a breaking API change for Swift clients.
Swift only: The UIViewController extension property transitionController has been renamed to mdm_transitionController.
renamed (swift) method: transitionController to mdm_transitionController.
This patch release fixes a bug where the frames of custom presented views would be incorrectly set to the view controller's frame.
This patch release resolves a build warning and migrates the project's continuous integration to bazel and kokoro.
This major release adds support for composable transitions. See the catalog app for a variety of examples making use of this new functionality.
MDMTransitionWithFallback's return value is now nonnull. If you depended on the nil behavior, you must now conform to the new protocol MDMTransitionWithFeasibility and return NO for canPerformTransitionWithContext:.MDMTransitionDirection has been renamed to TransitionDirection in Swift.MDMTransitionWithFeasibility allows a transition to indicate whether it is capable of performing the transition with a given context.
The new composeWithTransition: API on MDMTransitionContext makes it possible to build modular transition objects that delegate responsibility out to other transition objects. View the PhotoAlbumTransition example transition to see the following code in action:
context.compose(with: FadeTransition(target: .foreView, style: .fadeIn)) context.compose(with: SpringFrameTransition(target: .target(snapshotContextView), size: fitSize)) if let toolbar = foreDelegate.toolbar(for: self) { context.compose(with: SlideUpTransition(target: .target(toolbar))) }
changed protocol MDMTransitionWithCustomDuration now conforms to MDMTransition.
changed protocol MDMTransitionWithFallback now conforms to MDMTransition.
new protocol MDMTransitionWithFeasibility.
new method composeWithTransition:
This minor release deprecates some behavior and replaces it with a new API.
MDMTransitionWithFallback nil behavior is now deprecated. In order to fall back to system transitions you must now conform to MDMTransitionWithFeasibility and return NO.new protocol MDMTransitionWithFeasibility.
This patch release resolves Xcode 9 compiler warnings.
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.
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)
new method: deferToCompletion:. Defers execution of the provided work until the completion of the transition.
new class: MDMTransitionPresentationController. A transition presentation controller implementation that supports animation delegation, a darkened overlay view, and custom presentation frames.
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.
This minor release resolves a build warning and introduces the ability to customize navigation controller transitions.
new class: MDMTransitionNavigationControllerDelegate.
Fixed the umbrella header name to match the library name.
The library has been renamed to MotionTransitioning.
Prior releases under the library name MaterialMotionTransitioning.
The library has been renamed to MaterialMotionTransitioning.
TransitionContext now exposes a presentationController property.Auto-generated by running:
apidiff origin/stable release-candidate objc src/MaterialMotionTransitioning.h
new property: presentationController in MDMTransitionContext
Prior releases under the library name Transitioning.
This is a patch fix release to address build issues within Google's build environment.
This minor release introduces two new features to the Transition protocol family.
new protocol: MDMTransitionWithFallback
new method: -fallbackTransitionWithContext: in MDMTransitionWithFallback
new protocol: MDMTransitionWithCustomDuration
new method: -transitionDurationWithContext: in MDMTransitionWithCustomDuration
new property: activeTransition in MDMTransitionController
Initial release.
Includes support for building simple view controller transitions and transitions that support custom presentation.