2012-01-19 125 views
1

如果我将视图推送到Navcontroller上,它效果很好,我可以使用代码或使用Nav Controller返回按钮从它返回。dismissModalViewControllerAnimated不返回

然后我改变它以模态呈现视图。预设的作品,但我不能让它返回并消除模态视图。

这工作...主视图

Tools *screen = [[Tools alloc] initWithNibName:@"Tools" bundle:[NSBundle mainBundle]]; 

    [mainNavController pushViewController:screen animated:YES]; 

    [screen release]; 

其中一个模式的看法:

- (IBAction)btnCancel:(id)sender { 


    [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES]; 


} 

但后来我改变它莫代尔这样的模式的看法不回去主视图。

Tools *screen = [[Tools alloc] initWithNibName:@"Tools" bundle:[NSBundle mainBundle]]; 

[mainNavController presentModalViewController:screen animated:YES]; 

    [screen release]; 

在模式的看法:

- (IBAction)btnCancel:(id)sender { 


    [self.parentViewController dismissModalViewControllerAnimated:YES]; 


} 

我曾尝试一切我能想到的,显然我失去了一些东西!有任何想法吗?

感谢您的任何帮助!

回答

2

拒绝来自自我(模式视图)模式视图

[self dismissModalViewControllerAnimated:YES]; 
+0

工作正常!谢谢您的帮助! – 2012-01-19 00:30:16

0

您的btnCancel方法实际上是否被调用?你有没有试过插入一个NSLog语句或断点来验证?

你的代码看起来很适合我,所以我想知道你是否刚刚在Interface Builder中挂钩了某些东​​西。

+0

@X斜线有想法,不排除本身和工作。我不知道为什么,从来没有这样做过。当然,以图形方式查看视图堆栈会很酷,所以你知道发生了什么。我很好地学到了另一个教训。感谢您的想法! – 2012-01-19 00:31:55

+0

我可能是错的,但是,你的代码应该在iOS 4上工作,在iOS 5上,我认为他们改变了方式,modalView.parentViewController(例如)最有可能返回零,因此发送任何消息到零无效! (未经测试,在我的头上,所以请自己测试一下) – 2012-01-19 02:57:33