2012-10-14 35 views
0

我有一個初始'父菜單'視圖控制器與'照片'按鈕(更多按鈕來像'事件')。iOS 6:我如何從嵌入在導航控制器中的tableview內部切換到另一個VC?

從照片按鈕我有一個簡單的ctrl拖動segue導航控制器,它有一個tableview作爲它的第一個視圖(專輯),集合視圖(大拇指),然後imageview(全尺寸)。

我遇到的問題是: 我希望能夠從導航控制器後的第一個表格視圖繼續回到最初的簡單「父菜單」視圖控制器。

我想:

  • 拖動按鈕到表視圖的頂部菜單欄區(它被認爲是UINavigationItem)並拖動SEGUE回到菜單......沒有工作。
  • 從tableview菜單區域的按鈕到其父視圖並調用[self performSegueWithIdentifier:@「BackToMenu」sender:self];從那裏,沒有工作。
  • 將一個按鈕拖到表視圖中作爲最後一個項目,並按Ctrl +拖動它作爲一個segue到菜單:沒有工作。
  • 嘗試從導航控制器返回菜單並手動調用該菜單,但連接到「菜單」按鈕的插座功能拖入桌面視圖頂部後面永遠不會被擊中。

我錯過了什麼?

我打算讓幾個導航控制器從多個按鈕的故事板菜單頁出去。

回答

0

我最終做的事情是在任何事情之前首先製作導航控制器,然後我的菜單頁首先按下各個路徑的按鈕。

上面:按Ctrl +拖動沒有工作從導航欄按鈕,保持完全炸燬。

我沒有意識到我可以先從導航控制器轉到常規視圖控制器。認爲它需要首先進入表格視圖,因爲當你拖出一個導航時,它會與表格配對。

如果我在這個奇怪的論壇有10多個'點數',我會張貼故事板的屏幕快照。

謝謝全部

0

您可以在導航控制器後面拖動一個「Bar Button Item」到第一個表格視圖的左側。從那裏,做控制 - 從酒吧按鈕項目拖回到初始視圖控制器,並選擇一個「模態」賽格。雖然這回答了你的問題,正如@jrturton在下面的評論中所說的那樣,這還沒有被優化,因爲它會創建一個新的實例。

如果要以編程方式執行此操作(將返回到現有實例),請爲表視圖控制器上的條形按鈕項創建一個IBAction。例如,在iOS 6中:

-(IBAction)returnToParentMenu:(id)sender { 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

或iOS 5中:

-(IBAction)returnToParentMenu:(id)sender { 
    [self dismissModalViewControllerAnimated:YES]; 
} 
+0

這將創建原始專利視圖控制器的新實例。 – jrturton

+0

您編輯的答案是正確的(代碼部分)。按照我的第一條評論中的理由,將控件拖到父項「錯誤」是錯誤的。 – jrturton

0

你不需要爲這個SEGUE。你可以在你的表格視圖中創建一個按鈕,並將它鏈接到表格視圖中的一個動作,這會關閉當前呈現的視圖控制器(我假設您的第一個呈現導航控制器堆棧的segue是「模式」類型):

[self.navigationController dismissViewControllerAnimated:YES completion:nil]; 

或者,你可以看看「開卷塞格斯」,但我還沒有使用這些我自己又是那麼不希望在這裏包括細節。

+0

他嘗試返回的初始控制器不是導航堆棧的一部分。 –

+0

...要清楚,從導航控制器的根視圖控制器調用popViewControllerAnimated:將不起作用。 –

+0

@JShapiro你是對的,我誤解了這個問題的一部分,而應該是解散一個模式或呈現的視圖控制器。雖然沒有讓你的答案正確;) – jrturton

相關問題