В случае, если вы настраиваете элементы панели вкладок с помощью пользовательских изображений, вы можете сделать это.
Я сделал настройку элементов панели вкладок, добавив фоновое изображение на панель вкладок со всеми нарисованными вкладками, одна вкладка в выбранном состоянии и другие в невыбранном состоянии. В каждом didSelectViewController я меняю фоновое изображение.
Затем я вывожу фоновое изображение на передний план и добавляю собственные метки с нужным заголовком.
Результат: я настроил панель вкладок без глянцевого эффекта. Интересно, что UITabBarButtons находятся под фоновым изображением, но все еще можно выбрать.
Код выглядит примерно так:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
[self customizeTabBar];
}
- (void)customizeTabBar {
NSString *imageName = [NSString stringWithFormat:@"tabbg%i.png", tabBarCtrl.selectedIndex + 1];
for(UIView *view in tabBarCtrl.tabBar.subviews) {
if([view isKindOfClass:[UIImageView class]]) {
[view removeFromSuperview];
}
}
UIImageView *background = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:imageName]] autorelease];
[tabBarCtrl.tabBar insertSubview:background atIndex:0];
[tabBarCtrl.tabBar bringSubviewToFront:background];
//if needed, here must be adding UILabels with titles, I didn't need it.
}
Может быть, вам будет интересно:)