问题很简单。我的应用程序有一个日志 View (实际上不止一个)和一个登录 View ,登录时 Show Detail 会跟随日志 View 。
注销时我想调用 popToViewController 但后来我记得我的应用程序会保留其登录状态,所以我可能会遇到用户注销并且只有在应用程序中实例化的记录 View ,没有可弹出的内容。
现在我有另一个 Show 从日志 View 到登录 View 。但我想知道这是否是正确的做法。
要采用的正确工作流程是什么?
Best Answer-推荐答案 strong>
我同意@n00bProgrammer 在评论中提到的内容。我认为最好将 Login 和 Main 界面(你想怎么调用它们)分开。
您可以通过更改应用程序主 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/
|