From dc81ebf9745906736fd6b92497002822d3f08738 Mon Sep 17 00:00:00 2001 From: Osei Fortune Date: Mon, 4 May 2026 07:25:08 -0400 Subject: [PATCH] fix(ios): enableSwipeBackNavigation on ios 26+ --- packages/core/ui/page/index.ios.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/core/ui/page/index.ios.ts b/packages/core/ui/page/index.ios.ts index 36ccdd67bc..c6063302ca 100644 --- a/packages/core/ui/page/index.ios.ts +++ b/packages/core/ui/page/index.ios.ts @@ -189,9 +189,15 @@ class UIViewControllerImpl extends UIViewController { // only consider when interactive transitions are not enabled navigationController.interactivePopGestureRecognizer.delegate = navigationController; navigationController.interactivePopGestureRecognizer.enabled = owner.enableSwipeBackNavigation; + if (SDK_VERSION >= 26) { + navigationController.interactiveContentPopGestureRecognizer.enabled = owner.enableSwipeBackNavigation; + } } } else { navigationController.interactivePopGestureRecognizer.enabled = false; + if (SDK_VERSION >= 26) { + navigationController.interactiveContentPopGestureRecognizer.enabled = false; + } } } } @@ -462,10 +468,16 @@ export class Page extends PageBase { public _updateEnableSwipeBackNavigation(enabled: boolean) { const navController = this._ios.navigationController; - if (this.frame && navController && navController.interactivePopGestureRecognizer) { + if (this.frame && navController) { // Make sure we don't set true if cannot go back enabled = enabled && this.frame.canGoBack(); - navController.interactivePopGestureRecognizer.enabled = enabled; + if (navController.interactivePopGestureRecognizer) { + navController.interactivePopGestureRecognizer.enabled = enabled; + } + + if (SDK_VERSION >= 26 && navController.interactiveContentPopGestureRecognizer) { + navController.interactiveContentPopGestureRecognizer.enabled = enabled; + } } }