Существует небольшое заблуждение в том, что вы пытаетесь сделать.Прежде всего, UITabBarController не имеет свойства tabBarItem, которое вы пытаетесь установить.Но, даже если это так, в документах UITabBarController конкретно указано в отношении свойства tabBar UITabBarController:
Никогда не пытайтесь манипулировать самим объектом UITabBar, хранящимся в этом свойстве.Если вы попытаетесь это сделать, в представлении панели вкладок возникнет исключение.
Таким образом, способ изменить элементы - это , а не через сам UITabBar.В вашей ситуации UITabBar получает свои UITabBarItems от UIViewControllers, представленных каждой вкладкой.Это то, что вы контролируете.В частности, вы можете сделать следующее:
- (void)viewWillAppear:(BOOL)animated {
/* Modifies the UITabBarItem used by a UITabBarController to represent this
* UIViewController in the tab bar.
*/
UITabBarItem* tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Colors" image:[UIImage imageNamed:@"Colors.png"] tag:9];
self.tabBarItem = tabBarItem;
[tabBarItem release];
}