2

我有一个这样的场景:我有一个MovieViewController它作为我的应用程序的介绍(它是我故事板中的初始视图控制器)。它转到另一个名为MenuViewController的视图控制器:

  • 电影结束
  • 检测到的触摸

所以现在的顺序是这样的: MovieViewController-----> MenuViewController --->(然后三个按钮对应不同的Views)

根据我在这里的旧问题:关于窗口层次结构的警告

我对应答案并编辑我的代码,但我的调试器中仍然出现错误。

警告:尝试呈现不在窗口层次结构中的视图!

它仍然出现几次,有没有办法让MenuViewController 主视图显示后MovieViewController?或在电影结束/放映后将其关闭/删除。

感谢您的指导。

4

2 回答 2

0

为了尝试回答这个问题,我将假设当你说

主视图

你的意思是根视图。

一个简单的解决方案是,当您启动应用程序时,会创建一个导航控制器来管理视图控制器的堆栈。此导航控制器有一个根控制器,您应该将其设置为您的MenuViewController(这应该是第一个加载的视图控制器),因为这是您要返回的控制器。您可以将您的视图呈现在您MovieViewController的视图之上,MenuViewControllerMovieViewController您被解雇时,您将看到MenuViewController.

附带说明一下,在 iOS 编程中呈现闪屏通常不是一个好的做法,其中闪屏是一个没有任何功能价值的屏幕,除了在加载和呈现有关应用程序的信息时延迟主视图的呈现。

于 2012-10-21T15:47:08.123 回答
-1

您可以制作MenuViewController初始视图控制器,并在加载后立即调用:

[self presentModalViewController:MovieViewController animated:NO];

然后,当您想MovieViewController从屏幕上删除时,只需调用:

[self dismissModalViewControllerAnimated:YES];

MovieViewController.

于 2012-10-21T15:36:13.363 回答