0

我想以編程方式將NavigationController添加到我的TabBarController應用程序中。以編程方式將一個NagivationController添加到TabBarController中

我的代碼:

UIViewController *viewController1 = [[FirstViewController alloc] 
initWithNibName:@"FirstViewController" bundle:nil]; 

UIViewController *viewController2 = [[SecondViewController alloc] 
initWithNibName:@"SecondViewController" bundle:nil]; 

UIViewController *viewController3 = [[ThirdViewController alloc] 
initWithNibName:@"ThirdViewController" bundle:nil]; 

UITabBarController *tabController = [[UITabBarController alloc] init]; 
tabController.viewControllers = @[viewController1, viewController2, viewController3]; 
return tabController; 

我想一個tableview中/的DetailView添加到ThirdViewController,又明白我需要使它導航控制器來做到這一點。

另一個論壇說我可以做類似下面的事情,但我遇到各種麻煩,改變我的項目去做他們的例子。有誰知道如何操作代碼的頂部,並將NavigationController編程到TabBarController中?

別人的示例代碼

UIViewController *viewController1, *viewController2; 

viewController1 = [[[UIViewController alloc] initWithNibName:@"FirstViewController_iPhone" 
bundle:nil] autorelease]; 
UINavigationController *navigationcontroller = [[[UINavigationController alloc] 
initWithRootViewController:viewController1] autorelease]; 

viewController2 = [[[UIViewController alloc] 
initWithNibName:@"SecondViewController_iPhone" bundle:nil] autorelease]; 

self.tabBarController = [[[UITabBarController alloc] init] autorelease]; 
self.tabBarController.viewControllers = [NSArray arrayWithObjects:navigationcontroller, 
viewController2, nil]; 

我試圖把他們放在一起,它看起來像這樣:

UIViewController *viewController1 = [[FirstViewController alloc] 
initWithNibName:@"PDCFirstViewController" bundle:nil]; 

UIViewController *viewController2 = [[SecondViewController alloc] 
initWithNibName:@"SecondViewController" bundle:nil]; 

viewController3 = [[UIViewController alloc] initWithNibName:@"ThirdViewController" 
bundle:nil]; 
UINavigationController *navigationcontroller = [[UINavigationController alloc] 
initWithRootViewController:viewController3]; 

self.tabBarController = [[UITabBarController alloc] init]; 
self.tabBarController.viewControllers = [NSArray 
arrayWithObjects:viewController1,viewController2,navigationcontroller, nil]; 

return 0; 

我沒有得到任何錯誤,應用程序只是退出。任何幫助將是偉大的!謝謝你們!

+2

「各種各樣的麻煩」並不是對你的問題很有幫助的描述。而不是別人的代碼,張貼你自己的,讓我們看看你得到的錯誤信息。否則,人們可能會猜測這是您可能想要由其他人解決的某種任務。 –

+0

你有什麼樣的問題?它是編譯器警告你嗎? – Shmidt

+0

@DanielSchneller感謝您的指導。我已經更新了條目,包括我的失敗代碼:) - 我一直試圖讓所有這些工作大約兩天。任何轉發進度將不勝感激! – Brandon

回答

0

我已經給出類似問題的答案。你可以從這裏找到你的解決方案answer

相關問題