关闭启动的viewControllers并返回初始视图控制器(故事板)

时间:2012-05-27 14:23:55

标签: ios ipad ios5 storyboard

我已经看过几次这个问题,但从未真正回答过。我想知道是否有一个可接受/干净的方法来解雇所有启动的视图控制器并在使用故事板时返回初始视图控制器(比如从生成的视图控制器中的动作)。

我知道如何使用委托,但是,我更愿意没有为每个可能生成的视图控制器创建初始视图控制器实现委托。相反,我只是想要一个清理所有内容的主页按钮,并从应用程序的任何位置返回到初始视图控制器。

思想?

编辑:为了清楚起见,假设我没有使用UINavigation控制器。

EDIT2:是否可以从app中的任何位置访问“初始视图控制器”的方法,就像使用appDelegate一样?

2 个答案:

答案 0 :(得分:2)

这应该在任何时候都这样做。只需将其粘贴在IBAction中并将其连接到一个按钮:)

[self.navigationController popToRootViewController];

答案 1 :(得分:1)

我最终使用了单身人士。似乎工作得很好。

在初始视图控制器的初始加载中,我将视图控制器设置为单例的属性。然后,我可以在应用程序中的任何视图控制器上的任何操作方法中执行以下代码,以关闭所有视图控制器并返回到初始视图控制器。

initialViewControllerManager *ivcManager = [initialViewControllerManager sharedInstance];
LPViewController *ivc = ivcManager.initalViewController;    
[ivc dismissModalViewControllerAnimated:YES];

可能不是“正确”的答案,但似乎有效。而且,考虑到我的场景的复杂性,完全依赖于UINavigationControllers会非常复杂。