模态地呈现ViewControllers

时间:2012-05-04 09:33:47

标签: iphone ios xcode view switch-statement

我正在制作文字游戏,我需要一些导航方面的帮助。这个游戏从菜单开始,从菜单中你可以点击“创建游戏”,打开“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];

我希望有人可以给我一些非常明确的解释或一些示例代码。

2 个答案:

答案 0 :(得分:0)

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

[self dismissModalViewControllerAnimated:YES];

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

答案 1 :(得分:0)

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

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