首页 > 解决方案 > Nativescript 页面转换崩溃:“应用程序试图以模态方式呈现活动控制器”

问题描述

当我在 iOS 上进行某个页面转换时,我的应用程序有时会崩溃。我得到的错误是:

*** JavaScript call stack:
(
0   UIApplicationMain@[native code]
1   start@file:///app/tns_modules/tns-core-modules/application/application.js:272:26
2   anonymous@file:///app/app.js:128:26
3   evaluate@[native code]
4   moduleEvaluation@:1:11
5   @:7:48
6   promiseReactionJob@:1:11
)
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present modally an active controller <UINavigationControllerImpl: 0x1120d5a00>.'

我当前的应用程序有:

在主视图的第 3 个选项卡上,有一个按钮将您带到页面 A。在页面 A 上,有一个按钮将您带到页面 B。最后,页面 B 有一个按钮,用于设置主视图的 tabIndex view 到 1,然后导航到主视图(此时看到选项卡 1 的预期结果)。

当我尝试从页面 B 导航到主视图时,我得到了错误(但并非总是如此)。我尝试注释掉tabView.setTabIndex(1);and animated: true,clearHistory: true,但这并没有帮助。

        var tabView = require("~/views/main-tab/main-tab.js");

        tabView.setTabIndex(1); // the second tab out of three
        truthView.reset();
        lieView.reset();

        utilsModule.GC();

        const navigationEntry = {

            moduleName: "views/main-tab/main-tab",
            animated: true,
            clearHistory: true

        };
        var topmost = frameModule.topmost();
        topmost.navigate(navigationEntry);

很感谢任何形式的帮助!

最好的祝愿,纳特

标签: iosmodal-dialognativescripttransition

解决方案


推荐阅读