您可以隨時更改根tabbarcontroller的視圖,也可以更改tabbaritems標題&圖標。這裏有一個例子:
MyAppDelegate *appController = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
// Setting 1st tab + view + icon
ViewController1 *viewController1 = [[ViewController1 alloc] initWithNibName:@"ViewController1" bundle:nil];
favoritesController.title = @"Tab1 Title";
UINavigationController *navigationTab1Controller = [[[UINavigationController alloc] initWithRootViewController: viewController1] autorelease];
UITabBarItem *anItem = [[[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:0] autorelease];
navigationTab1Controller.tabBarItem = anItem;
// Setting 2st tab + view + icon
ViewController2 *viewController2 = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil];
searchController.title = @"Tab2 Title";
UINavigationController *navigationTab2Controller = [[[UINavigationController alloc] initWithRootViewController:searchController] autorelease];
UITabBarItem *anItem1 = [[[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemSearch tag:1] autorelease];
navigationTab2Controller.tabBarItem = anItem1;
// Now setting the array of tab views, each one attached to its navigation controller
NSArray *array = [[NSArray alloc] initWithObjects:self.navigationController, navigationTab1Controller, navigationTab2Controller, nil];
[appController.tabBarController setViewControllers:array animated:NO];
appController.tabBarController.selectedViewController = self.navigationController;
UITabBarItem *anItem2 = [[[UITabBarItem alloc] initWithTitle:@"Tab3 Title" image:[appController thumbnailImage:@"image"] tag:2] autorelease];
self.navigationController.tabBarItem = anItem2;
我改變了視圖和選項卡的設置,這取決於我的應用程序的狀態。希望它有幫助
編輯:函數thumbnailImage是我爲緩存圖像寫的函數,避免內存泄漏,您可以使用imageNamed或其他技術從包中檢索圖像。
感謝Nava Carmon的即時回覆。我現在無法執行此代碼。你能不能簡單介紹一下設置。這段代碼將成爲我的應用程序的支柱,儘管我的技術非常強大,但我對編碼還是很陌生,所以我可能需要您牽着我的手才能將此代碼實施到我的項目中。歡迎任何幫助 – SympleMyne 2009-09-21 16:43:01
您能詳細說明問題所在嗎?請提供更多細節。我很樂意幫助 – 2009-09-21 19:06:49