I have a view controller FromViewController
, and I want it to present ToViewController
with a custom transition. I implemented UIViewControllerAnimatedTransitioning
for both to and transitions, and it all works great when I submit and reject ToViewController
.
However, if mine is FromViewController
contained in UINavigationController
, I just get a black screen when I reject ToViewController
.
This is the code from UIViewControllerAnimatedTransitioning
upon dismissal:
- (void)animateTransition:(nonnull id<UIViewControllerContextTransitioning>)transitionContext {
self.toViewController = (ToViewController *)
[transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UINavigationController *navigationController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
self.fromViewController = (FromViewController *)navigationController.topViewController;
self.containerView = transitionContext.containerView;
[self.containerView insertSubview:self.fromViewController.view belowSubview:self.toViewController.view];
[transitionContext completeTransition:!transitionContext.transitionWasCancelled];
}
I looked over the app, and it seems that neither of UINavigationController
and FromViewController
is not in a hierarchy of ideas after the dismissal.
source
share