【问题标题】:Issue while presenting viewControllers呈现视图控制器时出现问题
【发布时间】:2014-03-13 10:12:51
【问题描述】:

我有一个configurationControllerVCloginPageControllerVC。最初我想介绍configurationControllerVC。一旦我的配置过程完成,我去loginControllerVC。如果配置已经完成并且用户重新打开应用程序,我想立即加载loginControllerVC,而无需执行配置过程。

问题是在我的应用程序中,有一个条件,如果它是假的,我想把用户带回configurationControllerVC

我的viewControllers流程如下:

如果配置尚未完成:

ConfigurationControllerVC --> LoginControllerVC --> HomePageControllerVC --> ReportingControllerVC.

如果配置完成,那么流程是这样的:

LoginControllerVC --> HomePageControllerVC --> ReportingControllerVC.

我想将用户导航到configurationControllerVC 的条件可能在HomePageControllerVCreportingControllerVC 上遇到。

在这种情况下,什么更好?使用UINavigationController 还是仅将视图呈现在另一个之上?另外,如何实现将用户导航回configurationControllerVC这部分?

目前我正在使用此代码在我的appDelegate 中显示configurationControllerVCLoginControllerVC

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];
}

看过这些链接,但在我的情况下都没有:

  1. Changing root view controller of a iOS Window
  2. UINavigation pushing a new root controller

【问题讨论】:

    标签: ios objective-c uiviewcontroller uinavigationcontroller appdelegate


    【解决方案1】:

    为什么不直接创建一个UINavigationController,其中loginController 是rootViewController,然后您可以在其中推送到homePageControllerreportingController

    只要满足[self checkForConfiguration] 的条件,就将其显示在UINavigationController 的顶部?

    [self.navigationController presentViewController:configViewController animated:YES completion:nil];
    

    【讨论】:

    • 在 UINavigationController 的顶部显示 ConfigurationControllerVC 是什么意思?你能更具体一点吗?我是 ios @Jeff 的新手
    【解决方案2】:

    我同意@Jeff 使用UINavigationController 作为窗口根视图控制器。

    对于您的“特殊”转换(配置 -> 登录、登录 -> 主页、任何 -> 配置,因为您不希望用户能够返回),而不是使用推送或弹出,使用 @ 987654322@。你会得到一个漂亮的动画,替换导航控制器的根视图控制器。

    对于您的家 -> 报告您可以像往常一样推送到导航控制器堆栈。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多