2012-02-21 71 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