2011-08-25 81 views
0

最初,我使用IB將navcontroller拖動到我的tabbar上,然後設置根控制器。但是,我試圖創建一個沒有IB的導航控制器。以編程方式創建UINavigationController

我所做的是創建一個navcontroller的子類,將在我的tabbar中使用。導航欄確實顯示,所以我知道這是工作。

現在,我需要將視圖控制器推入層次結構。在導航控制器的viewDidLoad:

- (void)viewDidLoad { 

    InfoViewController *initialController = [[InfoViewController alloc] init]; 
    [self.navigationController pushViewController:initialController animated:YES]; 

    [initialController release]; 
    [super viewDidLoad]; 
} 

我沒有錯誤,但沒有在導航控制器顯示出來。有人知道爲什麼

+0

Apple建議不要繼承UINavigationController BTW ...只是一個參考,不推薦。另外,爲什麼不把視圖控制器推到導航控制器,然後以模態方式呈現它?最簡單的方法真的... – TommyG

+0

如果你不應該子類的navcontroller你會怎麼做它以編程方式?你必須使用筆尖? Arent我推視控制器到navcontroller? – Adam

+0

看到你發現問題..如果你需要任何幫助,請告訴我。 – TommyG

回答

0

InfoViewController的init方法是什麼樣的?如果你使用一個筆尖來構建它,那麼你需要調用initWithNib,而不是init。

+0

沒有參與其中。我想我發現了這個問題。我在導航控制器中使用了self.navigationController。它應該是自我 – Adam

0

創建視圖控制器何時/在哪裏創建導航控制器(並將它們添加到它)然後將視圖控制器列表添加到tabbar。