我有一个基于导航的应用程序,我通过一些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;
}
感谢您的帮助! :)
答案 0 :(得分:0)
这个答案来自对问题本身的评论。这只是一个答案,希望有人投票,因此它可以从未答复的清单中移开。
如果不使用动画,则不会显示错误消息。
[self.navigationController popToRootViewControllerAnimated:NO];
答案 1 :(得分:0)
我遇到同样的问题,但当我在popToRootViewController
后面调用UIScrollView
时。碰巧UIScrollView从其父级窃取自己。
解决方案是
[scrollview removeFromSuperview];
在popToRootViewController
之前。