diff --git a/core/src/utils/transition/ios.transition.ts b/core/src/utils/transition/ios.transition.ts index c62f54af77..ca02623b80 100644 --- a/core/src/utils/transition/ios.transition.ts +++ b/core/src/utils/transition/ios.transition.ts @@ -386,12 +386,18 @@ export const iosTransitionAnimation = (navEl: HTMLElement, opts: TransitionOptio // setup leaving view if (leavingEl) { - const leavingContent = createAnimation(); const leavingContentEl = leavingEl.querySelector(':scope > ion-content'); + const leavingToolBarEls = leavingEl.querySelectorAll(':scope > ion-header > ion-toolbar'); + const leavingHeaderEls = leavingEl.querySelectorAll(':scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *'); + + if (!leavingContentEl && leavingToolBarEls.length === 0 && leavingHeaderEls.length === 0) { + leavingContent.addElement(leavingEl.querySelector(':scope > .ion-page, :scope > ion-nav, :scope > ion-tabs')!); // REVIEW + } else { + leavingContent.addElement(leavingContentEl!); // REVIEW + leavingContent.addElement(leavingHeaderEls); + } - leavingContent.addElement(leavingContentEl!); // REVIEW - leavingContent.addElement(leavingEl.querySelectorAll(':scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *')); rootAnimation.addAnimation(leavingContent); if (backDirection) { @@ -445,7 +451,6 @@ export const iosTransitionAnimation = (navEl: HTMLElement, opts: TransitionOptio } } - const leavingToolBarEls = leavingEl.querySelectorAll(':scope > ion-header > ion-toolbar'); leavingToolBarEls.forEach(leavingToolBarEl => { const leavingToolBar = createAnimation(); leavingToolBar.addElement(leavingToolBarEl);