我的所有页面上都有一个带有注销按钮的应用程序。当按下注销按钮时,我希望我的应用进入登录屏幕。为此,我在IBAction中为注销按钮调用以下命令:
loginScreen = [[GP_MobilViewController alloc] initWithNibName:@"GP_MobilViewController" bundle:nil];
[currentView presentViewController:loginScreen animated:YES completion:nil];
现在我的问题是我不知道如何删除所有先前创建的屏幕。因为我可以告诉我,presentViewController不会为我删除任何内容,所以我必须自己进行此清理?
PS。我没有使用UINavigationController。所以popToRootViewControllerAnimated:是,对我不起作用。我需要另一个解决方案。提前致谢。
最佳答案
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到window。这使得所有viewControllers被释放。
关于ios - 调用presentViewController之后清理 View 的正确方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21476406/