popToRootViewController时出现奇怪的错误

时间:2010-01-22 12:17:21

标签: iphone uiviewcontroller uinavigationcontroller navigation

我有一个基于导航的应用程序,我通过一些viewcontroller来导航。 此刻我有2个viewcontrollers。在第二个viewcontroller中,我有一个条件,如果它是真的我用popToRooViewController弹出第一个viewcontroller。当我这样做时,应用程序返回到rootController但在调试器控制台中出现:

  

**-[UIWindow endDisablingInterfaceAutorotation] called on <UIWindow: 0x3c04dd0; frame = (0 0; 320 480); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x3c05b90>> without matching -beginDisablingInterfaceAutorotation. Ignoring. Terminating in response to SpringBoard's termination.**

我不知道为什么会这样。

我将项目创建为基于导航的应用程序。在mainWindow.xib中,它具有navigationController,并且作为子视图,它具有导航栏和rootviewcontroller。

然后在rootViewController中我改为viewController而不是tableviewcontroller。 第二个viewcontroller也是一个viewcontroller。

这是我调用rootcontroller时的代码。

else if (emptyTasks == YES && returnAddTask == NO)
{
    [self.navigationController popToRootViewControllerAnimated:YES]; // "Pushing the controller on the screen" 

    returnAddTask = YES;
}

感谢您的帮助! :)

2 个答案:

答案 0 :(得分:0)

这个答案来自对问题本身的评论。这只是一个答案,希望有人投票,因此它可以从未答复的清单中移开。

如果不使用动画,则不会显示错误消息。

[self.navigationController popToRootViewControllerAnimated:NO];

答案 1 :(得分:0)

我遇到同样的问题,但当我在popToRootViewController后面调用UIScrollView时。碰巧UIScrollView从其父级窃取自己。

解决方案是

[scrollview removeFromSuperview];
popToRootViewController之前