0

我正在制作文字游戏,我需要一些导航方面的帮助。该游戏从一个菜单开始,从该菜单中您可以单击“创建游戏”,这将打开“GameViewController”。在这个 GameViewController 中,当它是正确的单词时,您可以提交一个单词。 弹出一个屏幕,它是“RightWordViewController” 当它错了它会弹出“WrongwordViewController”,无论是对还是错都有一个按钮可以返回游戏。

在 GameViewController 中还有一个菜单按钮,除了你提交了一个词之后,它可以完美地工作。如果您在提交正确或错误的单词时单击 GameViewController 中的菜单按钮,菜单按钮会将我带回到正确或错误的视图控制器。我明白为什么会发生这种情况,我只是不知道如何解决它。我使用dismissModalViewcontroller,它向我展示了当前视图背后的视图,这是正确或错误的视图控制器,我需要解决这个问题,希望有人能帮助我。

从菜单转到游戏

-(IBAction)switchview:(id)sender {
 GameViewController *game = [[GameViewController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:game animated:YES];

从 GameViewcontroller 到主视图(菜单)的菜单按钮(它会关闭当前屏幕,因此当我提交正确或错误的单词时,这些屏幕会弹出,当我单击此按钮时,正确或错误会再次出现。 . 我不想要的东西。)

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

我希望有人能给我一些非常清楚的解释或一些示例代码。

4

2 回答 2

0

在 switchback3: 方法中,您不需要再次预设视图控制器..只需关闭前面的那个..

[self dismissModalViewControllerAnimated:YES];

另外,在游戏视图控制器中添加一个布尔值来设置一个状态来检查是否显示/不显示正确/错误的视图。

于 2012-05-04T09:47:01.650 回答
0

使用 -(IBAction)switchback3:(id)sender { [self dismissModalViewControllerAnimated:YES];

在呈现正确/错误的视图控制器之前重置您提交的单词。如果您正在呈现一个视图并且您需要返回,请使用dismissModalViewController。无需再次呈现该视图。

于 2012-05-04T12:28:46.407 回答