2010-10-27 5 views

ответ

-4

Вы можете изменить изображение, но выбранное изображение всегда имеет один и тот же синий накладку применяется к изображению. Единственный способ, которым я могу обойти это, - это подкласс UITabBarItem.

10

Его можно без добавления подвид.

В классе, где вы определяете панель вкладок установить свойство tabBarItem к - >>

UITabBarItem *tabBarItem1 = [[self.tabBar.tabBar items] objectAtIndex:0]; 
[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"campaigns_hover.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"campaigns.png"]]; 

Св свойству tabBarItem, и вы можете изменить синее изображение по умолчанию пользовательского изображения. campaigns_hover.png является выбранным пользовательским образом и campaigns.png обычай изображение, когда не выбран ...

Наслаждайтесь секретом .. :)

+1

finishedSelectedImage: является устаревшим с IOS 7. Используйте свойство selectedImage вместо. – Daniel

1

В IOS 6 У меня изменить выбранное Tabbaritem изображение как -

В TabBar методе контроллер делегата

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController 

{ 
    if([tabBarController selectedIndex] == 0) 
    { 
     [viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]]; 
    }  
} 

через это вы можете изменить свой образ. Метод

Или вы можете использовать непосредственно в контроллерах зрения инициализации (или ViewWillAppear), как

[viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]]; 
+0

Удивительный код, поддерживайте его – user40910

Смежные вопросы