我有这样一个场景:我有一个MovieViewController,它作为我的应用程序的介绍(它是我的故事板中的初始视图控制器)。它可以通过以下方式转到另一个名为MenuViewController的视图控制器:
现在的顺序是:MovieViewController - MenuViewController
根据我以前的问题:Warning about window hierarchy
我对应于答案并编辑我的代码,但是在我的调试器中仍然会发生错误。
警告:尝试显示其视图不在窗口层次结构中!
它仍然发生了几次,是否有方法使MenuViewController在MovieViewController显示之后成为主视图?或在电影结束/放映后解散/移除它。
谢谢你的向导。
发布于 2012-10-21 15:47:08
为了回答这个问题,我要假设当你说
主视图
你是说根视图。
一个简单的解决方案是,当您启动应用程序时,会创建一个导航控制器来管理视图控制器的堆栈。这个导航控制器有一个根控制器,您应该将其设置为您的MenuViewController (这应该是加载的第一个视图控制器),因为这是您想要返回的控制器。您可以将您的MovieViewController显示为MenuViewController顶部的视图,这样,当MovieViewController被取消时,您将得到MenuViewController。
顺便提一句,在iOS编程中,通常不是很好的做法,即显示一个启动屏幕,其中screen是一个没有功能值的屏幕,只是在加载和提供有关应用程序的信息时延迟主视图的显示。
发布于 2012-10-21 15:36:13
您可以制作您的MenuViewController初始视图控制器,并在加载它之后立即调用:
[self presentModalViewController:MovieViewController animated:NO];然后,当您想从屏幕中删除MovieViewController时,只需调用:
[self dismissModalViewControllerAnimated:YES];在MovieViewController中。
https://stackoverflow.com/questions/12999220
复制相似问题