2

我已经看过这个问题几次,但从未真正回答过。我想知道在使用情节提要时是否有一种可接受/干净的方式来关闭所有已启动的视图控制器并返回到初始视图控制器(例如从生成的视图控制器中的操作)。

我知道如何使用委托,但是,我不希望我的初始视图控制器为每个可能的衍生视图控制器实现委托。相反,我想要一个主页按钮,它可以清理所有内容并从应用程序的任何位置返回初始视图控制器。

想法?

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

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

4

2 回答 2

2

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

[self.navigationController popToRootViewController];
于 2012-05-27T14:32:31.940 回答
1

我最终使用了单例。似乎工作得很好。

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

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

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

于 2012-05-28T00:24:39.633 回答