1

我有 3 个 UIViewController,我希望能够在没有任何类型的导航控制器的情况下来回转换,但不是任何特定的顺序。

到目前为止,我已经在我的委托中设置了一个方法,如果应用程序从多任务栏中的内存中删除,我可以记住我最后在哪个视图上。

看起来像这样

if (([projectListBoolString isEqualToString:@"T"]) && ([installsBoolString isEqualToString:@"F"]) && ([finishinBoolString isEqualToString:@"F"])) {
        self.getProjectListViewController = [[GetProjectListViewController alloc] initWithNibName:@"GetProjectListViewController" bundle:nil];
        self.window.rootViewController = self.getProjectListViewController;
        [self.window makeKeyAndVisible];
    }
    else if (([projectListBoolString isEqualToString:@"T"]) && ([installsBoolString isEqualToString:@"T"]) && ([finishinBoolString isEqualToString:@"T"])) {
        self.currentProjectListViewController = [[CurrentProjectListViewController alloc] initWithNibName:@"CurrentProjectListViewController" bundle:nil];
        self.window.rootViewController = self.currentProjectListViewController;
        [self.window makeKeyAndVisible];
    }
    else {
        self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
        self.window.rootViewController = self.viewController;
        [self.window makeKeyAndVisible];
    }

当我在应用程序中时,我想知道如何从一个视图跳转到另一个视图,以确保只有 1 个视图在内存中/已加载。

任何帮助将不胜感激。

4

1 回答 1

1
if(getProjectListViewController == nil)
   getProjectListViewController  = new GetProjectListViewController ();
if(viewController.view.superview!=nil){
   viewController.view.removefromSuperView();
   window.addsubview(getProjectListViewController.view);
} else {
   getProjectListViewController.view.removeFromSuperView();
   window.addsubview(viewController.view);
}

根据需要为两个以上的视图添加 if/else-if 语句。如果您仍然觉得这更容易,您也可以继续使用没有界面组件的 navController —— 您可以使用一个隐藏的属性。

于 2013-10-12T01:36:08.340 回答