Майк, мне кажется, ты слишком много просишь за UITabBar. Однако я был в вашей ситуации, когда клиенту нужна динамическая панель вкладок. Делегация - ваш лучший друг в этом случае.
UITabBarDelegate:
– tabBar:willBeginCustomizingItems:
– tabBar:didBeginCustomizingItems:
– tabBar:willEndCustomizingItems:changed:
– tabBar:didEndCustomizingItems:changed:
– tabBar:didSelectItem: required method
UITabBarControllerDelgate
Managing Tab Bar Selections
– tabBarController:shouldSelectViewController:
– tabBarController:didSelectViewController:
Managing Tab Bar Customizations
– tabBarController:willBeginCustomizingViewControllers:
– tabBarController:willEndCustomizingViewControllers:changed:
– tabBarController:didEndCustomizingViewControllers:changed:
это позволит вам управлять действиями, которые будут выполняться, когда что-то будет на панели вкладок.
Также вы можете изменить значок на панели вкладок, не удаляя его, изменив элемент панели вкладок на контроллере представления
UIViewController * controller = [myTabBarController.tabBar.items objectAtIndex:kObjectIndex];
UIImage *someImage = [UIImage imageNamed:@"some_icon_on.png"];
UITabBarItem *someTabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString (@"SomeTabBarTitle",@"") image:someImage tag:kObjectIndex];
controller.tabBarItem = someTabBarItem;
Надеюсь, это поможет вам. Желаем удачи!