4

나는보기 컨트롤러 FromViewController 있고 사용자 지정 전환 함께 ToViewController 제시하고 싶습니다. 나는 to-와 from-transition 모두에 대해 UIViewControllerAnimatedTransitioning을 구현했으며, ToViewController을 표시하고 닫을 때 모두 잘 동작합니다.검은 화면 UINavigationController 내에서 사용자 지정 전환 UIViewController 해제 할 때

그러나 내 FromViewControllerUINavigationController에 포함되어있는 경우 ToViewController을 닫으면 검은 색 화면이 나타납니다.

은 기각 UIViewControllerAnimatedTransitioning의 코드입니다 :

- (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]; 

    // My animations go here 

    // In the animation completion block I call: 
    [transitionContext completeTransition:!transitionContext.transitionWasCancelled]; // this is when my screen goes black 
} 

내가 응용 프로그램을 검사하고는 어느 것도 UINavigationControllerFromViewController는 해고 후 뷰 계층에없는 것 같다.

답변

2

나는 그것을 알아 냈다.

[self.containerView insertSubview:navigationController.view belowSubview:self.toViewController.view]; 
: 대신

[self.containerView insertSubview:self.fromViewController.view belowSubview:self.toViewController.view]; 

를 I 탐색 컨트롤러에서보기를 추가 할 필요 : I는 천이 상황 컨테이너보기 뷰를 추가 할 때 문제가 있었다

관련 문제