ios 在不带导航控制器的UIViewControllers之间转换

dly7yett  于 2023-05-30  发布在  iOS
关注(0)|答案(1)|浏览(154)

我有3个UIViewControllers,我希望能够向后和向前过渡,但没有任何特定的顺序,没有任何类型的navigationcontroller。
到目前为止,我已经在我的委托中设置了一个方法,如果应用程序从多任务栏的内存中删除,我可以记住我最后一次使用的视图。
看起来是这样的

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

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

2sbarzqh

2sbarzqh1#

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而不使用接口组件--有一个隐藏的属性可以使用。

相关问题