diff --git a/packages/core/ui/page/index.ios.ts b/packages/core/ui/page/index.ios.ts index a0df7c5d1..afd99aca9 100644 --- a/packages/core/ui/page/index.ios.ts +++ b/packages/core/ui/page/index.ios.ts @@ -214,7 +214,7 @@ class UIViewControllerImpl extends UIViewController { // or because we are closing a modal page, // or because we are in tab and another controller is selected. const tab = this.tabBarController; - if (owner.onNavigatingFrom && !owner._presentedViewController && !this.presentingViewController && frame && frame.currentPage === owner) { + if (owner.onNavigatingFrom && !owner._presentedViewController && frame && (!this.presentingViewController || frame.backStack.length > 0) && frame.currentPage === owner) { const willSelectViewController = tab && (tab)._willSelectViewController; if (!willSelectViewController || willSelectViewController === tab.selectedViewController) { const isBack = isBackNavigationFrom(this, owner);