尝试关闭其视图当前不显示的模态视图控制器

时间:2014-09-17 07:26:47

标签: ios objective-c

感谢您的时间,这里是我的应用程序结构:它包含一个MainController和一个LoginController,当用户知道应用程序时,首先要判断登录状态,如果它是'是的,然后将childController(aka.MainController)设置为RootViewController' s(aka,NavigationController),否则当用户输入用户名和密码时,将childController(aka.LoginController)设置为RootViewController' s(aka,NavigationController)正确地,将childController(aka.MainController)设置为RootViewController' s(又名,NavigationController)

当用户单击属于MainController的设置控制器中的退出按钮时,则:

LoginController *vcLogin = [[LoginController alloc] init];
UINavigationController *ncRoot = [[UINavigationController alloc] initWithRootViewController:vcLogin];
[[UIApplication sharedApplication].keyWindow setRootViewController:ncRoot];

现在,出现问题,控制台打印: 尝试关闭其视图当前不显示的模态视图控制器。

 self = <_UIModalItemAppViewController: 0x9da0060> modalViewController =<_UIModalItemsPresentingViewController: 0x9e9bac0>

你知道错误的地方在哪里吗?

1 个答案:

答案 0 :(得分:0)

这不是设置新UIViewController的方法。您应该使用presentViewController来呈现模态视图控制器。如果你想在没有动画的情况下使用pushViewController也是可能的。但是改变rootViewController是一个坏主意。由于这不是在iOS中如何设置ViewController层次结构。