2012-11-19 59 views
0

的餐廳我的故事板的佈局是這樣的:如何退出導航控制器?

主視圖控制器>導航控制器>表視圖控制器> 3個獨立的表視圖

的主視圖控制器去幾個不同的視圖控制器,所以我需要定期回到它。表視圖控制器控制3個不同的菜單表單視圖。在導航控制器中擁有表視圖控制器允許後退按鈕退出3個獨立表視圖,但我無法弄清楚如何從桌面視圖控制器獲取後退按鈕到主視圖控制器。

到目前爲止,我已經在故事板GUI中完成了所有這些工作,所以如果修復可以在那裏排序,那麼對我來說最容易理解。

回答

1

爲什麼不把導航控制器作爲主視圖控制器的一部分?然後當你推動表視圖控制器時,你會得到一個後退按鈕。所以它會是導航控制器 - >主視圖控制器 - >表視圖控制器 - > ...

我已經做了這個故事板在導航控制器場景是第一,然後與根視圖控制器的關係是主視圖控制器

+0

嗯,這工作,但有一個問題。我需要在導航控制器中打開頂部欄來獲取表格視圖控制器中的導航欄,但我不想在具有自定義佈局的主視圖控制器上看到它。在視圖設置中關閉頂部欄不會隱藏該屏幕。 –

+0

我認爲在這種情況下,如果你不想在那裏看到它,你可以從你的主視圖控制器調用'[self.navigationController setNavigationBarHidden:YES animated:NO];'viewWilAppear'。 – foggzilla

3

如果您不想將導航控制器放置在主視圖控制器之前,則可以使用「放鬆搜索」。

創建IBAction爲方法來執行主視圖控制器內部的退繞SEGUE:

PrimaryVC.h

- (IBAction)unwound:(UIStoryboardSegue *)segue; 

PrimaryVC.m

- (IBAction)unwound:(UIStoryboardSegue *)segue 
{ 
    // No need to do anything here... 
} 

在第一表視圖控制器,將一個欄按鈕項目拖到導航項目(欄)的左上角。一旦它在那裏,按住控制鍵並從欄按鈕向下拖動到場景的底部,您會看到一個綠色的退出圖標。 unwound:方法應顯示在列表中...選擇該方法。現在

unwind segue

您的按鈕應該返回到主視圖控制器。