Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 该怎么办;正在以意外状态完成导航转换。导航栏子视图树可能已损坏。”;_Iphone_Ios Simulator_Titanium_Appcelerator_Appcelerator Mobile - Fatal编程技术网

Iphone 该怎么办;正在以意外状态完成导航转换。导航栏子视图树可能已损坏。”;

Iphone 该怎么办;正在以意外状态完成导航转换。导航栏子视图树可能已损坏。”;,iphone,ios-simulator,titanium,appcelerator,appcelerator-mobile,Iphone,Ios Simulator,Titanium,Appcelerator,Appcelerator Mobile,我正在用Appcelerator Tianium Mobile编写一个iPhone应用程序。我根据窗口的焦点隐藏和显示选项卡组 dashWin.addEventListener("focus",function(e) { if (dashWin.tabGroupVisible == true) { dashWin.tabGroupVisible=false; tabGroup.animate({bottom:-50,duration:500});

我正在用Appcelerator Tianium Mobile编写一个iPhone应用程序。我根据窗口的焦点隐藏和显示选项卡组

dashWin.addEventListener("focus",function(e) {
    if (dashWin.tabGroupVisible == true) {
        dashWin.tabGroupVisible=false;
        tabGroup.animate({bottom:-50,duration:500});
    }
});
当dashWin收到焦点事件时,上面的代码隐藏选项卡组。但是,当事件在iPhone模拟器中运行时触发时,我在Tianium控制台中看到以下消息:

正在以意外状态完成导航转换。导航栏子视图树可能已损坏


谷歌搜索会出现一个结果:可能有一个关于发生了什么的提示。

通常选项卡组充当应用程序导航的根。当用户点击某个选项卡时,该选项卡的窗口将被聚焦

接下来,当用户触发一个需要显示新窗口的操作时,它通常会以模式显示或显示在当前窗口的顶部(在导航堆栈意义上)。在后一种情况下,告诉当前选项卡打开新窗口

如果将tabBarHidden属性设置为false(创建新窗口时),则当当前选项卡打开新窗口时,选项卡栏将为您隐藏


这种更标准的方法对您有效吗?

我有
序列
,它们返回到我的主导航控制器,这是导致这种情况的原因。我通过将主导航控制器设置回堆栈顶部修复了该问题。代码如下:

- (void) viewDidAppear:(BOOL)animated
{
    [self.navigationController popToRootViewControllerAnimated:NO];
}

当我通过情节提要将
动作序列
选择序列
从一个视图链接到另一个视图,并以编程方式再次执行相同的序列时,我遇到了这个错误,这使得导航控制器执行相同的序列两次

本案例的2种解决方案:

  • 删除推送视图的代码。让故事板为你表演这一段。这对大多数情况都有好处
  • 操作序列
    选择序列
    替换为
    手动部分
    ,并自己执行
    -(无效)PerformsguewithIdentifier:(NSString*)identifier sender:(id)sender
    。当您希望根据发送方自定义segue的行为时,您可能会发现此解决方案很有用

  • 最近,我遇到了同样的问题。原因是: -我曾两次错误地尝试弹出视图控制器。
    您可以通过在推送和弹出视图控制器上设置断点来检查此崩溃

    其他信息:我仅在使用子窗口上的“后退”按钮将选项卡返回到dashWin时收到此消息。如果我使用选项卡返回dashWin,则不会收到消息。如果我将选项卡栏创建为隐藏,则无法使其在Tianium中的子页面上重新出现。至少这是我的回忆。那是一个星期前的事了,现在看来是永恒的。但您的回答正确地暗示,我正在为用户创建非标准的导航体验。后来我放弃了这个想法,不再使用标签。我查看了类似应用程序的界面,意识到了我的方法的愚蠢。尽管如此,我还是很好奇错误消息到底意味着什么,人们可以对此做些什么(如果有的话),以及为什么它看起来非常罕见。