Dies liegt daran, dass Sie höchstwahrscheinlich beide Präsentationen hinzufügen
[transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]
und das präsentierte
[transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]
Zeigen Sie Controller in Ihrem Container an. Zeigen Sie sie in der (void) animateTransition: (id) TransitionContext-Methode Ihres Animations-Controllers an. Da Sie eine benutzerdefinierte modale Präsentation verwenden, wird der Präsentationsansichts-Controller weiterhin unter dem Präsentationsansichts-Controller angezeigt . Da es jetzt noch sichtbar ist, müssen Sie es nicht mehr zur Containeransicht hinzufügen. Fügen Sie stattdessen nur den dargestellten Ansichts-Controller zur containerView hinzu. Sollte in Ihrer animateTransition: -Methode ungefähr so aussehen
UIView *containerView = [transitionContext containerView];
UIViewController *fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];
UIViewController *toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
if (self.presenting){
[transitionContext.containerView addSubview:toViewController.view];
} else {
}