2014-06-15 113 views
0

所以我有一個導航控制器導致一個表視圖,這導致了一個細節視圖。有一個添加按鈕可導致另一個表視圖從聯繫人列表中進行選擇。當我選擇「完成」時,我想要導入新的詳細視圖,但導航欄不會顯示。下面是IB的圖像:iOS的 - 從表格視圖不會顯示導航欄

image of IB

所以我想移動從聯繫人視圖控制器的康沃視圖控制器,但保留導航項工作。

按下完成按鈕時執行的代碼:

- (IBAction)doneButtonPressed:(UIBarButtonItem *)sender { 
    BOOL sharing = NO; 
    if ([self.referrer isEqualToString:@"mapView"]) sharing = YES; 
    Convo *newConvo = [[Convo alloc] initWithMembers:self.selectedContacts 
                  sharing:sharing]; 
    // add newConvo to convos list 

    ConvoViewController *convoVC = [self.storyboard 
         instantiateViewControllerWithIdentifier:@"convoView"]; 
    convoVC.convo = newConvo; 
    NSLog(@"%@", [convoVC.convo memberListToString]); 
    [self presentViewController:convoVC 
         animated:YES 
        completion:nil]; 
} 

感謝您的幫助!

+0

什麼導航欄不會顯示?你認爲你應該有convoVC? – rdelmar

+0

是的。目前它只是'Names'標題,但不會在運行時顯示。 – mcw

+0

這是因爲convoVC是一個新實例,與您在故事板上的實例不相關,因爲您沒有將其嵌入到導航控制器中,所以它不會有一個。 – rdelmar

回答

1

通過將ContactsViewController嵌入到自己的導航控制器中,並將(從「完成」按鈕)繼續添加到ConvoViewController的新實例(標題爲「Contacts Detail」的那個實例) )。在那個控制器中,我有一個名爲「Main Table」的酒吧按鈕項目,它連接到一個展開後繼續展開到MasterViewController的展開順序。這裏是設置,

enter image description here

+0

謝謝,但我很抱歉,我可能並不清楚我希望它具體做什麼。我想從聯繫人視圖控制器轉到控制檯視圖控制器,然後在控制檯視圖控制器上能夠移回到主視圖控制器。 – mcw

+0

@mcw,這就是我在答案中顯示的故事板。這兩個橙色控制器都是ConvoViewControllers,但是它們是不同的實例(它們也會像你這樣做)。我假設你想在細節控制器中顯示不同的信息,具體取決於你是從MasterViewController還是ContactsViewController獲得。 – rdelmar

+0

這工作得很好。非常感謝! – mcw