2014-09-18 101 views
1

我似乎無法正確地做到這一點,所以我會盡力解釋我能做到的最好。我有視圖控制器1,然後在視圖控制器之一,然後創建另一個視圖基本上顯示思想是懸停在當前視圖(讓我們叫它2)。該視圖現在有一個按鈕,我需要返回查看0這是它開始的地方。所以我創建了一個賽格,然後我嘗試執行賽格,但沒有得到任何地方。 所以這裏是我試圖做到這一點。 鑑於1我有此以編程方式展開segue

// this is in the nearmeView controller 
-(void)BackToStart{ 
[self performSegueWithIdentifier:@"unwind" sender:self]; 
//dismissViewControllerAnimated:completion: 

} 
在彈出的視圖我有此

NearMeViewController * goBackToBeggining = [[NearMeViewController alloc]init]; 
    [goBackToBeggining BackToStart]; 

但是我得到一個錯誤,說這個?

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<NearMeViewController: 0x19af9600>) has no segue with identifier 'unwind'' 

現在我知道是必須是我沒有正確安裝視圖我應該怎麼做?我錯過了什麼? 我看過這篇文章,但它沒有幫助太多的任何想法? Unwind segue not being triggered

+1

您可以直接從按鈕觸發展開segue。你沒有實例化一個新的視圖控制器來觸發它。也許看看這裏http://pragmaticstudio.com/blog/2013/2/5/unwind-segues – Paulw11 2014-09-18 22:19:15

+0

Paulw這不能真正回答我的問題。我會把測試項目放在一起併發布到這裏。 – Miguel 2014-09-19 00:26:38

回答

2

放鬆賽段非常棘手。然而,對於這種情況,你甚至不需要一個;只需要你的BackToStart電話[self.navigationController popViewControllerAnimated:YES]。但是,如果你使用故事板需要用開卷SEGUE,你有一個IBAction方法添加到目標視圖控制器,它有采取UIStoryboardSegue說法:

- (IBAction)comeToPapa:(UIStoryboardSegue *)segue { 
    // ... whatever 
} 

然後,在你的孩子查看控制器的故事板場景,按Ctrl +拖動任何觸發器展開,並將其拖動到場景標題中的子視圖控制器的綠色退出圖標。這將彈出一個可用的展開賽的列表;選擇您在父視圖控制器中創建的那個。

Here's what Apple says about it.

+0

我試圖使用'[self.navigationController popViewControllerAnimated:YES]'並且沒有任何反應。 – Miguel 2014-09-19 00:25:52

+0

你是對的我是一個白癡謝謝你的迴應。我想出了我的問題。 – Miguel 2014-09-22 16:27:50