From f42f0da1e870771e80872290711ff1b6cc9ee365 Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Fri, 5 Dec 2025 01:24:57 +0200 Subject: [PATCH] fix(ios): Added null-check for action bar updates --- packages/core/ui/frame/index.ios.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/core/ui/frame/index.ios.ts b/packages/core/ui/frame/index.ios.ts index ae20d2afff..d386640177 100644 --- a/packages/core/ui/frame/index.ios.ts +++ b/packages/core/ui/frame/index.ios.ts @@ -272,7 +272,7 @@ export class Frame extends FrameBase { public _updateActionBar(page?: Page, disableNavBarAnimation = false): void { super._updateActionBar(page); - if (page && this.currentPage && this.currentPage.modal === page) { + if (!this._ios || (page && this.currentPage && this.currentPage.modal === page)) { return; } @@ -597,18 +597,23 @@ class UINavigationControllerImpl extends UINavigationController { @profile public setViewControllersAnimated(viewControllers: NSArray, animated: boolean): void { - const viewController = viewControllers.lastObject; - const navigationTransition = viewController[TRANSITION]; - const owner = this._owner?.deref?.(); + const viewController = viewControllers?.lastObject; + const navigationTransition = viewController ? viewController[TRANSITION] : null; if (Trace.isEnabled()) { Trace.write(`UINavigationControllerImpl.setViewControllersAnimated(${viewControllers}, ${animated}); transition: ${JSON.stringify(navigationTransition)}`, Trace.categories.NativeLifecycle); } - const nativeTransition = _getNativeTransition(navigationTransition, true, owner?.direction); - if (!animated || !navigationTransition || !nativeTransition) { + if (!animated || !navigationTransition) { super.setViewControllersAnimated(viewControllers, animated); + return; + } + const owner = this._owner?.deref?.(); + const nativeTransition = _getNativeTransition(navigationTransition, true, owner?.direction); + + if (!nativeTransition) { + super.setViewControllersAnimated(viewControllers, animated); return; }