|
1 | | -# #develop# |
| 1 | +# 3.2.0 |
2 | 2 |
|
3 | | - TODO: Enumerate changes. |
| 3 | +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. |
4 | 4 |
|
| 5 | +## New features |
| 6 | + |
| 7 | +Transition context now has a `deferToCompletion:` API for deferring work to the completion of the transition. |
| 8 | + |
| 9 | +```swift |
| 10 | +// Example (Swift): |
| 11 | +foreImageView.isHidden = true |
| 12 | +context.defer { |
| 13 | + foreImageView.isHidden = false |
| 14 | +} |
| 15 | +``` |
| 16 | + |
| 17 | +`MDMTransitionPresentationController` is a presentation controller that supports presenting view controllers at custom frames and showing an overlay scrim view. |
| 18 | + |
| 19 | +The new `MDMTransitionViewSnapshotter` class can be used to create and manage snapshot views during a transition. |
| 20 | + |
| 21 | +```swift |
| 22 | +let snapshotter = TransitionViewSnapshotter(containerView: context.containerView) |
| 23 | +context.defer { |
| 24 | + snapshotter.removeAllSnapshots() |
| 25 | +} |
| 26 | + |
| 27 | +let snapshotView = snapshotter.snapshot(of: view, isAppearing: context.direction == .forward) |
| 28 | +``` |
| 29 | + |
| 30 | +## Source changes |
| 31 | + |
| 32 | +* [Add a snapshotting API and contextual transition example (#37)](https://github.com/material-motion/transitioning-objc/commit/a6ae314ddd5ff4e6f0ca9a8711348f8682d95e66) (featherless) |
| 33 | +* [Store the presentation controller as a weak reference. (#34)](https://github.com/material-motion/transitioning-objc/commit/9f73e70e382ef8291f3ad85f7ccac25994f06e43) (featherless) |
| 34 | +* [Add a stock presentation controller implementation. (#35)](https://github.com/material-motion/transitioning-objc/commit/6c98fa24f7e733262dc802b1e7c6b30134a29936) (featherless) |
| 35 | +* [Minor formatting adjustment.](https://github.com/material-motion/transitioning-objc/commit/28f6e2e72534c8e0e77b60a98140be3bc06cd37a) (Jeff Verkoeyen) |
| 36 | + |
| 37 | +## API changes |
| 38 | + |
| 39 | +## MDMTransitionContext |
| 40 | + |
| 41 | +*new* method: `deferToCompletion:`. Defers execution of the provided work until the completion of the transition. |
| 42 | + |
| 43 | +## MDMTransitionPresentationController |
| 44 | + |
| 45 | +*new* class: `MDMTransitionPresentationController`. A transition presentation controller implementation that supports animation delegation, a darkened overlay view, and custom presentation frames. |
| 46 | + |
| 47 | +## MDMTransitionViewSnapshotter |
| 48 | + |
| 49 | +*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. |
| 50 | + |
| 51 | +## Non-source changes |
| 52 | + |
| 53 | +* [Add photo album example. (#38)](https://github.com/material-motion/transitioning-objc/commit/a1d49a6f432b7fddf8d15c90a5ea185fd8e03c5a) (featherless) |
| 54 | +* [Add some organization to the transition examples. (#36)](https://github.com/material-motion/transitioning-objc/commit/27756b1e578cb8be3fa6d727a3aefafe9b1aa496) (featherless) |
5 | 55 |
|
6 | 56 | # 3.1.0 |
7 | 57 |
|
|
0 commit comments