У меня есть настроенный UITabBar и используйте следующий код в AppDelegate:
- (void)tabBarController:(MainUITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
[self customizeTabBar];
}
- (void)customizeTabBar {
NSLog(@"*******customizeTabBar*******");
UIImage *tabBackground = [[UIImage imageNamed:@"unselectedtab"]
resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
// Set background for all UITabBars
[[UITabBar appearance] setBackgroundImage:tabBackground];
// Set tint color for the images for all tabbars
[[UITabBar appearance] setSelectedImageTintColor:[UIColor whiteColor]];
// Set selectionIndicatorImage for all tabbars
[[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"selectedtab"]];
}
- (void)tabBarController:(MainUITabBarController *)tabBarController didEndCustomizingViewControllers:(NSArray *)viewControllers changed:(BOOL)changed
{
NSLog(@"*******didEndCustomizingViewControllers*******");
}
Все в порядке в iOS5 +, но в 7 при первой загрузке первого TabBarItem индикатор элемента белый, и кнопка, похоже, была выбрана, но изображение "selectedTab" не загружено.
Когда я нажимаю другую вкладку, новая вкладка красная и отображается правильно - так же, как и первый или любой элемент панели вкладок, выбранных после этого - он не работает только при первом запуске.
customizeTabBar вызывается, но выбранное изображение не появляется при первом запуске.
didEndCustomizingViewControllers, похоже, вообще не вызываются.
Это не работает в эмуляторе или устройстве на iOS7, но работает на iOS5, 6.
Любые идеи? Спасибо заранее.