2011-09-18 139 views
1

显然,我有一个LoginViewControllerStartUpControllerXcode - 注销按钮

  • LoginViewController具有验证用户身份和注册新用户的功能(presentModalViewController)。一旦用户登录,我的系统将显示StartUpController

在这个StartUpController里面,我拥有了一切,比如TabBarController,NavigationController等。这个StartUpController实际上处理了5个不同的视图。

我的问题是:当我的用户从我的某个视图中点击“LogOut”按钮时,我该如何删除所有视图?

我想再次显示我的LoginViewController ..但同时删除StartUpController视图及其所有视图。

请告诉我如何做到这一点:

回答

3

如果您的验证的观点是你的根视图控制器的看法,请使用您的导航控制器参考-popToRootViewControllerAnimated:方法,如:

[myNavigationController popToRootViewControllerAnimated:YES]; 

假设你没有对视图控制器的所有权做任何奇怪的事情,导航控制器将释放子视图控制器(这反过来应该释放它们的视图和其他属性)。

+0

谢谢亚历克斯..我会看看“popToRootViewControllerAnimated:” –

+0

仅供参考 - 我用这条线来清除所有的VC,因为根据哪个流程,我的应用程序是否使用导航控制器。这似乎清除了导航堆栈上的所有内容。 [self.parentViewController.navigationController popToRootViewControllerAnimated:YES]; –