- Support for Swift 5.0
This will likely be the last version of the library to support iOS 9 and 10. Please see the issue about DeckTransition 3.0 for more information.
- Support for Swift 4.2 and Xcode 10
DeckTransition is now at version 2.0! 🎉
This is a major API upgrade. The previous API which required UIScrollViewDelegate conformance has been entirely removed, and is replaced by an automatic UIScrollView detection mechanism.
-
The
isDismissEnabledproperty onDeckTransitioningDelegateis removed. This behaviour is now managed automatically, which means that your old dismissal code is no longer needed and can be removed entirely, and your existing view controllers should "just work" in most cases.There exist some edge cases with the new mechanism, more about which, including workarounds, can be found in the documentationʼs new UIScrollView detection guide.
- A new
isSwipeToDismissEnabledparameter is added to theDeckTransitioningDelegateinitializer, to disable the swipe-to-dismiss gesture entirely, if need be. This is set totrueby default and requires no change to retain previous behaviour.
- Fixed an issue where animations were incorrect on older versions of iOS
- Added documentation, generated using Jazzy
- Fixed an animation glitch when presenting a modal with the push style
- Updated animations to work much better when presenting mutliple view controllers using DeckTransition
- Fixes an issue where the appearance method calls were sometimes unbalanced
- Fixed an issue where rotation would break the rounded corners
This is the last version of this framework to support Swift 3.x. Further development will be done on Swift 4.x
- Corner rounding is now animated
- Moved appearance transition methods to the presentation controller
- Fixed the alpha animation during presentation
- Support for safe area based layouts
- Added a new
DeckSnapshotUpdaterAPI to update presenting view snapshots
Rounded corners are now manually rendered without using a mask
Adds support for iPhone X
Fixed an issue where touches to the presentedView’s subview touches would be cancelled
Fixed an issue caused when the presented view controller presented and then dismissed a view controller
Fixes an issue with Xcode 9’s new build system
Fixes an exception caused by KVO observers never being removed
DeckTransition is finally at 1.0! 🎉 Here’s a summary of all the changes in this version
- Vastly improved performance
- Reorganized project structure
- Support for Carthage
- All “magic numbers” have been refactored out
One small change needs to be implemented in pre-1.0 projects to maintain compatibility with this version of DeckTransition. The entirety of the change consists of replacing the following line of code in your modal view controller’s UIScrollViewDelegate implementation
scrollView.transform = CGAffineTransform(translationX: 0, y: scrollView.contentOffset.y)with the block that follows below:
scrollView.subviews.forEach {
$0.transform = CGAffineTransform(translationX: 0, y: scrollView.contentOffset.y)
}The implementation example in the ReadMe has been updated to reflect this.
- The
DeckTransitioningDelegateinitializer now requiresNSNumberarguments for animation duration - A snapshot of the presenting view controller is shown instead of the view itself
- Fixed Objective-C compatibility issues
- Fixed a host of bugs related to the double height status bar and rotation
- You can now use
pod tryto try the library
- The transition can now be customized by passing in custom animation durations, other animations to be performed alongside the stock animation, and completion handlers
- Made the dismissal gesture friction more realistic
- Fixed an issue where touches to the presented view were being delayed
- Fixed an issue which may prevent masking for the presenting view controller
- Made the example application universal and added icons
- Initial release