2015-11-06 27 views
1

我創建了一個UINavigationController(作爲初始屏幕),並將它們與我的UITableViewController(作爲根)連接。popViewController不適用於故事板

接下來,我創建另一個UINavigationController並與我的UIViewController連接。在我的UITableViewController裏面,我連接了我的第一個單元格UINavigationController(這與我的UIViewController有關)(Segue - > show)。

enter image description here

當我運行出現在我的表中的項目,當我選擇我的第一排,出現在我的UIViewController。那很棒!

當我在我的UIViewController back bar按鈕不會出現,在我的情況下,我創建一個左欄按鈕,它將運行一個函數來消除該視圖並返回到我的UITableViewController,因爲我使用很多代碼:

-(void)back{ 
    NSLog(@"Called"); 
    [self.parentViewController.navigationController popViewControllerAnimated:YES]; 
} 

-(void)back{ 
    NSLog(@"Called"); 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

-(void)back{ 
    NSLog(@"Called"); 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

但他們都不起作用,我的觀點不排除,我該如何解決這個問題?

回答

2

問題是,您從您的表格視圖單元調用的導航控制器在導航堆棧上只有一個視圖控制器(您的)。所以它不能從這個堆棧中彈出任何東西,否則堆棧是空的。
你必須做的是取消導航控制器本身。

1

我認爲解決方案將是刪除第二個導航控制器。由於TableView已經嵌入到導航控制器中,因此繼承UIViewController的show必須直接連接到它。

Explanation