2012-02-21 66 views
2

我有2个ViewControllers直接连接到一个push segue。我正在通过调用[self performSegueWithIdentifier:@"segueIdentifier" sender:sender]从第一个视图控制器导航到第二个视图控制器。在第二个我有一个绑定到“完成”按钮的IBAction方法。按下该按钮基本上应该会显示第一个视图控制器(有点后退按钮)。我设法做到这一点与:导航回到主视图控制器dismissViewControllerAnimated困境

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

我曾尝试通过使用来达到同样的效果:

[self dismissViewControllerAnimated:YES completion:nil]; 

不管是什么我想虽然这并没有做的工作。我想了解我究竟发生了什么,但我无法弄清楚。 dismissViewControllerAnimated方法仅适用于Modal segues(这是唯一想到的)。

谢谢

回答

5

是,

- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion 

是当有模式显示一个UIViewController。

- (UIViewController *)popViewControllerAnimated:(BOOL)animated 

应该做你正在寻找的。

所以基本上,在你的第二个VC:

[self.navigationController popViewControllerAnimated:YES]; 

如果你看过的UIViewController和UINavigationController的引用你会为你节省很多的麻烦。两次;)

+0

我目前这样做。第三次。谢谢你的回答 – yacana 2012-02-21 12:23:15

+0

在了解整幅图片之前,我必须先阅读它们几次。练习使得完美;) – teriiehina 2012-02-21 14:12:15

+0

确实!祝你好运 – yacana 2012-02-21 14:43:28