2020
2121@implementation MDMViewControllerTransitionContext {
2222 id <UIViewControllerContextTransitioning> _transitionContext;
23+ UIPercentDrivenInteractiveTransition *_percent;
2324}
2425
2526@synthesize direction = _direction;
2627@synthesize sourceViewController = _sourceViewController;
2728@synthesize backViewController = _backViewController;
2829@synthesize foreViewController = _foreViewController;
2930@synthesize presentationController = _presentationController;
30-
31+ @synthesize wasCancelled = _wasCancelled;
3132- (nonnull instancetype )initWithTransition : (nonnull id <MDMTransition>)transition
3233 direction : (MDMTransitionDirection)direction
3334 sourceViewController : (nullable UIViewController *)sourceViewController
@@ -44,6 +45,7 @@ - (nonnull instancetype)initWithTransition:(nonnull id<MDMTransition>)transition
4445 _presentationController = presentationController;
4546
4647 _transition = [self fallbackForTransition: _transition];
48+ _percent = [[UIPercentDrivenInteractiveTransition alloc ] init ];
4749 }
4850 if (!_transition) {
4951 return nil ;
@@ -82,7 +84,14 @@ - (UIView *)containerView {
8284}
8385
8486- (void )transitionDidEnd {
85- [_transitionContext completeTransition: true ];
87+ BOOL wasCanceled = [_transitionContext transitionWasCancelled ];
88+ if (wasCanceled) {
89+ _wasCancelled = false ;
90+ [_transitionContext completeTransition: false ];
91+ } else {
92+ _wasCancelled = true ;
93+ [_transitionContext completeTransition: true ];
94+ }
8695
8796 _transition = nil ;
8897
@@ -173,4 +182,20 @@ - (void)anticipateOnlyExplicitAnimations {
173182 return transition;
174183}
175184
185+ - (UIPercentDrivenInteractiveTransition *_Nonnull)getPercentIT {
186+ return _percent;
187+ }
188+
189+ - (void )updatePercent : (CGFloat)percent {
190+ [_percent updateInteractiveTransition: percent];
191+ }
192+
193+ - (void )finishInteractiveTransition {
194+ [_percent finishInteractiveTransition ];
195+ }
196+
197+ - (void )cancelInteractiveTransition {
198+ [_percent cancelInteractiveTransition ];
199+ }
200+
176201@end
0 commit comments