我的所有页面都有一个带注销按钮的应用程序。按下注销按钮后,我希望我的应用程序进入我的登录屏幕。我通过在我的IBAction中调用以下注销按钮来执行此操作:
loginScreen = [[GP_MobilViewController alloc] initWithNibName:@"GP_MobilViewController" bundle:nil];
[currentView presentViewController:loginScreen animated:YES completion:nil];
现在我的问题是我不知道如何删除所有以前创建的屏幕。因为我可以告诉我,presentViewController不会为我删除任何东西,所以我必须自己做这个清理工作?
PS。我没有使用UINavigationController。所以popToRootViewControllerAnimated:YES,对我不起作用。我需要另一个解决方案提前谢谢。
答案 0 :(得分:1)
self.view.window.rootViewController = self;
或在完成块中,
loginScreen = [[GP_MobilViewController alloc] initWithNibName:@"GP_MobilViewController" bundle:nil];
[currentView presentViewController:loginScreen animated:YES completion:^{
[UIApplication sharedApplication].keyWindow.rootViewController =loginScreen;
}];
或在loginViewControllers-viewDidAppear
中,您也可以将其设置为rootViewController到窗口
这使得所有viewControllers都被释放。