我有configurationControllerVC
和loginPageControllerVC
。最初我想呈现configurationControllerVC
。配置程序完成后,我转到loginControllerVC
。如果配置已经完成并且用户重新打开应用程序,我想立即加载loginControllerVC
,而无需完成配置过程。
问题是在我的应用程序中,有一个条件,如果它是假的,我想把用户带回configurationControllerVC
。
我的viewControllers流程如下:
如果配置尚未完成:
ConfigurationControllerVC --> LoginControllerVC --> HomePageControllerVC --> ReportingControllerVC.
如果配置已完成,则流程如下:
LoginControllerVC --> HomePageControllerVC --> ReportingControllerVC.
我可能会在configurationControllerVC
或HomePageControllerVC
上遇到我要将用户导航到reportingControllerVC
的条件。
在这种情况下哪个更好?使用UINavigationController
或只是将视图一个在另一个之上?另外,如何实现将用户导航回configurationControllerVC
?
目前,我正在使用此代码在configurationControllerVC
中显示LoginControllerVC
和appDelegate
。
if ([self checkForConfiguration]) {
// Initiate initial screen
ConfigurationController *configurationController = [[ConfigurationController alloc] initWithNibName:@"ConfigurationPage"
bundle:nil];
[self.window setRootViewController:configurationController];
}else{
LoginController *loginController = [[LoginController alloc] initWithNibName:@"LoginPage" bundle:nil];
[self.window setRootViewController:loginController];
}
看过这些链接,但我的情况都没有:
答案 0 :(得分:1)
为什么不创建一个UINavigationController
,其中loginController
是rootViewController,然后您可以转到homePageController
和reportingController
。
如果[self checkForConfiguration]
满足您的条件,请将其显示在UINavigationController
的顶部?
[self.navigationController presentViewController:configViewController animated:YES completion:nil];
答案 1 :(得分:0)
我和@Jeff一起使用UINavigationController
作为窗口根视图控制器。
对于您的“特殊”转换(配置 - >登录,登录 - >主页,任何 - >配置,因为您不希望用户能够返回),而不是使用推送或弹出,使用setViewControllers:animated:
。你会得到一个漂亮的动画,取代导航控制器的根视图控制器。
为您的家 - >报告你可以照常按下导航控制器堆栈。