2011-05-12 56 views
0

我有一個的UITabBarController一個UINavigationController中,我知道了UINavigationController的iOS的文件說以下內容:TabBarController在NavigationConroller

rootViewController 

The view controller that resides at the bottom of the navigation stack. This object cannot be an instance of the UITabBarController class. 

那麼,這是否意味着,如果我有UIViewControllers已導航堆棧上,它的確定然後推一個UITabBarController,一旦它不是根項目?

我現在有這個,除了當我彈出UITabBarController時,dealloc或viewDidUnload沒有在任何TabBarItems ViewController中調用時,我是否需要做類似於使viewWillAppear工作的事情?

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController { 
[viewController viewWillAppear:NO]; 
} 

感謝

回答

1

我不知道,有一個UINavigationController內的UITabBarController是去工作。

我通常這樣做的另一種方式圓

companyNavController = [[[UINavigationController alloc] initWithRootViewController:companyViewController] autorelease]; 
companyNavController.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemSearch tag:1]; 

[tabBarController setViewControllers:[NSArray arrayWithObjects:phoneBookNavController, companyNavController, faveNavController, settingsNavController, nil]]; 

如果你想隱藏自己的應用程序的一部分的TabBar,你總是可以嘗試hidesBottomBarWhenPushed來管理這一點。

HTH