我正在学习如何使用情节提要处理视图控制器层次结构。我有 2 个 ViewController:cwViewController 类型的根(我理解的是下面的“self”)和 WorkspaceViewController 类型的第二个。我收到“在演示过程中尝试演示!” 由于此代码。
- (IBAction)nextView {
WorkspaceViewController *workspace = [[WorkspaceViewController alloc] initWithNibName:nil bundle:nil];
[self presentViewController:workspace animated:YES completion:NULL]; }
如何正确呈现视图控制器的答案?是可以应用但不太适合这种情况的最接近的答案,因为我没有在 VC 之间来回切换,我只是展示一个,然后将其关闭以显示原件。
然后,我尝试在呈现第二个之前关闭当前的,正如一些答案所建议的那样,如下所示:
[self dismissViewControllerAnimated:NO completion:nil];
[self presentViewController:workspace animated:YES completion:NULL];
但这只是给我一个额外的警告:在演示或关闭正在进行时尝试从视图控制器中关闭!
做一些其他的研究,我发现类似的问题是通过添加一个块来解决的
[self dismissViewControllerAnimated:YES...]
但这在这里没有帮助,因为我的警告发生在我调用该解除方法之前。任何有关如何处理视图的顺序和层次结构的进一步知识都会有很大帮助。非常感谢。