视图控制器已分离

时间:2014-09-30 11:44:02

标签: ios

我正在更新iOS应用并在呈现视图控制器时收到以下警告:Presenting view controllers on detached view controllers is discouraged <UINavigationController: 0x984e640>.

app委托加载主视图控制器,如下所示:

[self.window setRootViewController:[MainViewController sharedInstance]];
[[MainViewController navigationController]setViewControllers:@[[MenuViewController new]]];

MainViewController创建一个新的导航控制器,并在viewDidLoad中将新的导航控制器添加到视图中:

[self.view addSubview:_navigationController.view];

现在我需要提供另一个视图控制器。我试过用这个:

[_navigationController presentViewController:anotherViewController animated:YES completion:nil];

和此:

[[MainViewController navigationController] presentViewController:anotherViewController animated:YES completion:nil];

+ (UINavigationController*)navigationController {
    return [[MainViewController sharedInstance]navigationController];
}

我和他们两个都得到了相同的警告并且视图控制器加载了,但我无法导航回来。我显然做错了什么,但我不确定它是什么。

1 个答案:

答案 0 :(得分:0)

我认为您希望推送而不是以模态方式呈现presentViewController是UIViewController提供模式VC的方法,而{{3}将VC推送到导航堆栈中。

请改为尝试:

[_navigationController pushViewController:anotherViewController animated:YES];