OStack程序员社区-中国程序员成长平台

标题: ios - 登录 View /记录 View 和 segues : what is the correct workflow to adopt? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 04:01
标题: ios - 登录 View /记录 View 和 segues : what is the correct workflow to adopt?

问题很简单。我的应用程序有一个日志 View (实际上不止一个)和一个登录 View ,登录时 Show Detail 会跟随日志 View 。

注销时我想调用 popToViewController 但后来我记得我的应用程序会保留其登录状态,所以我可能会遇到用户注销并且只有在应用程序中实例化的记录 View ,没有可弹出的内容。

现在我有另一个 Show 从日志 View 到登录 View 。但我想知道这是否是正确的做法。

要采用的正确工作流程是什么?



Best Answer-推荐答案


我同意@n00bProgrammer 在评论中提到的内容。我认为最好将 LoginMain 界面(你想怎么调用它们)分开。

您可以通过更改应用程序主 UIWindow 对象上的 rootViewController 属性来做到这一点。您可以通过 AppDelegate 的属性 window 访问它。

将新的 rootViewController 分配给您的应用程序的代码可能如下所示:

// Change the root view controller of the application window to the main storyboard
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName"Main" bundle: nil];
UITabBarController *mainTabBarController = [mainStoryboard instantiateViewControllerWithIdentifier"MainTabBarController"];

UIWindow *mainApplicationWindow = [[[UIApplication sharedApplication] delegate] window];
mainApplicationWindow.rootViewController = mainTabBarController;

每当用户退出时,您都可以将 rootViewController 更改回您在登录时显示的那个:

// Switch back to the login view
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName"Login" bundle: nil];
UINavigationController *rootNavigationController = [mainStoryboard instantiateViewControllerWithIdentifier"RootNavigationController"];

UIWindow *mainApplicationWindow = [[[UIApplication sharedApplication] delegate] window];
mainApplicationWindow.rootViewController = rootNavigationController;

关于ios - 登录 View /记录 View 和 segues : what is the correct workflow to adopt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27522023/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4