在保持视图状态的同时在UIViewController之间来回切换

时间:2015-06-28 10:23:32

标签: ios xcode uiviewcontroller

我有两个视图控制器,PlayViewControllerShopViewController。 目标是从PlayViewController转到ShopViewController,然后返回。

要转到shopController我使用此代码:

        UIStoryboard* mainStoryBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
        ShopViewController* vc = [mainStoryBoard instantiateViewControllerWithIdentifier:@"ShopViewController"];
        vc.modalTransitionStyle=UIModalTransitionStyleCrossDissolve;
        [vc setGameLevelManager:[[playViewController getCentralUIManager] getGameManager]];
        [vc setUIViewControllerOrigin:nil PlayerViewController:playViewController];
        [playViewController presentViewController:vc animated:YES completion:nil];

上面的代码有效,用户从PlayViewController跳转到ShopViewController。 现在,当从ShopViewController跳回PlayViewController时,我使用以下代码:

        playViewController.modalTransitionStyle=UIModalTransitionStyleCrossDissolve;
        [self presentViewController:playViewController animated:YES completion:nil];

上面的代码确实返回PlayViewController,但请求viewDidLoad并从头开始重新启动视图。事情就是当我从ShopViewController拨打PlayViewController时,我在视图中显示了其他窗口,即LevelFailure视图。 ViewDidLoad时,它会完全忘记用户访问ShopViewController时显示的内容。

我确信有一种方法可以回到PlayViewController并拥有状态,并查看它们的状态,但我还无法确定方法。

如果您对此事有任何想法,那就非常欢迎!

0 个答案:

没有答案