我正在制作文字游戏,我需要一些导航方面的帮助。这个游戏从菜单开始,从菜单中你可以点击“创建游戏”,打开“GameViewController”。在这个GameViewController中你可以提交一个单词,当它是正确的单词时弹出一个屏幕,这是'RightWordViewController'当它错了它弹出'WrongwordViewController'的正确和错误有一个按钮,将返回到游戏。
在GameViewController中还有一个菜单按钮,除了提交了一个单词后,它才能完美运行。如果您在已经提交了正确或错误的单词时单击GameViewController中的菜单按钮,则菜单按钮会将我带回正确或错误的视图控制器。我明白为什么会这样,我只是不知道如何解决它。我使用dismissModalViewcontroller向我展示当前背后的视图,这是正确的或错误的Viewcontroller我需要解决这个问题,并希望有人可以帮助我。
从菜单到游戏
-(IBAction)switchview:(id)sender {
GameViewController *game = [[GameViewController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:game animated:YES];
从GameView控制器到主视图(菜单)的菜单按钮(它关闭当前屏幕,所以当我提交一个单词对错时,这些屏幕弹出,当我点击这个按钮对错时会显示再一次..我不想要的东西。)
-(IBAction)switchback:(id)sender {[self dismissModalViewControllerAnimated:YES];
无论是对还是错,我都使用:
if ([labelsText.text isEqualToString: textview.text]){
RightWordViewController *Rightword = [[RightWordViewController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:RightWord animated:YES];
}
else
{ WrongWordViewController *Wrongword = [[WrongWordViewController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:WrongWord animated:YES];
}
然后当我在右边或错误的视图控制器
时回到游戏屏幕-(IBAction)switchback3:(id)sender {
GameViewController *game = [[GameViewController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:game animated:YES];
我希望有人可以给我一些非常明确的解释或一些示例代码。
答案 0 :(得分:0)
在switchback3:方法中,您不需要再次预设视图控制器..只需关闭前面的那个..
[self dismissModalViewControllerAnimated:YES];
另外,在gameview控制器中添加一个布尔值来设置状态以检查是否显示/不显示正确/错误的视图。
答案 1 :(得分:0)
使用 - (IBAction)switchback3:(id)sender { [self dismissModalViewControllerAnimated:YES];
在呈现正确/错误的视图控制器之前重置您提交的单词。如果您要呈现视图并且需要返回,请使用dismissModalViewController。不需要再次显示该视图。