我有两个视图控制器,PlayViewController
和ShopViewController
。
目标是从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
并拥有状态,并查看它们的状态,但我还无法确定方法。
如果您对此事有任何想法,那就非常欢迎!