İki sekmeli bir UITabBarController kurdum, biri basit bir UIViewController ve diğeri ise bir UINavigationController rootUntroller olarak ikinci UIViewController kullanıyor (bu daha sonra bir UITableView kurmak için kullanılacaktır). Sorum şu: sekmeleri adlandırma konusunda (yani, her UITabBarItem'in başlığını belirleme)UINavigationController'dan UITabBarItem başlığı ayarlama?
İlk sekme için (basit UIViewController) Aşağıdakileri (aşağıya bakın) denetleyicileri -init yöntemine ekledim.
Diğer sekmede, ikinci denetleyicileri init (rootController) öğesine ekledim (aşağıya bakın).
// FROM -[TableController init]
- (id)init {
self = [super init];
if(self) {
UITabBarItem *tabBarItem = [[self navigationController] tabBarItem];
[tabBarItem setTitle:@"TWO"];
}
return self;
}
Ben ilk sekme "TEK" ikinci boştur diyor uygulamayı çalıştırdığınızda olarak şu anda bu gösterilmiyor doğru yerde ikinci tabBarItem başlık atanması muyum. Ayrıca tabBarItem (yukarıda) değeri yazdığımda veya hata ayıklayıcısından baktığımda sıfır gösterir.
EDIT_001: Ben ilk UITabBarController ekleyerek hazır denetleyicileri, oluştururken AppDelegate
den eklendi tam kod Doğru AppDelegate içinden UITabBarItem ayarlayabilirsiniz. Ama bunu gerçekten tek tek denetleyicide yapmak istedim.
// UITabBarController
UITabBarController *tempRoot = [[UITabBarController alloc] init];
[self setRootController:tempRoot];
[tempRoot release];
NSMutableArray *tabBarControllers = [[NSMutableArray alloc] init];
// UIViewController ONE
MapController *mapController = [[MapController alloc] init];
[tabBarControllers addObject:mapController];
[mapController release];
// UITableView TWO
TableController *rootTableController = [[TableController alloc] init];
UINavigationController *tempNavController = [[UINavigationController alloc] initWithRootViewController:rootTableController];
[rootTableController release];
[tabBarControllers addObject:tempNavController];
[tempNavController release];
[rootController setViewControllers:tabBarControllers];
[tabBarControllers release];
[window addSubview:[rootController view]];
[window makeKeyAndVisible];
EDIT_002: Çözüm şimdiye kadar, uygulama temsilci Güncelleme UITabBarItems örn
// TABLE CONTROLLER
TableController *tableController = [[TableController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableController];
[tableController release];
[tabBarControllers addObject:navController];
UITabBarItem *tabBarItem_002 = [navController tabBarItem];
[tabBarItem_002 setTitle:@"TWO"];
[tabBarItem_002 setImage:[UIImage imageNamed:@"GT_TWO.png"]];
[navController release];
EDIT_003: UINavigationController içinde UITabBarItem ayarlamak için bir yol yoktur ya da (göründüğü gibi) temsilci bunu yapmak için gerçekten iyi yerdir.
self.navigationController.tabBarItem = tabBarItem, başka bir çözüm denemek isteyenlerin benim için çalıştığı şeydir! – Rabiees