2013-03-25 4 views
1

У меня есть контроллер UITabbar с 3 пунктом, я хочу иметь цвет значок вместо основанных Гэри иконок,цвета значок в UITabbar пункт Objective-C

могли бы вы дать мне намек, что, как я могу иметь значок цвета в tababr,

Вот мой код:

self.title = @"test"; 

    self.tabBarItem = [[UITabBarItem alloc] initWithTitle:self.title image:[UIImage 
imageNamed:@"test"] tag:0]; 

обычно тест является Icone с цветным изображением, но в UITabbar это просто Гэри,

заранее спасибо!

+0

возможно дубликат [Как изменить по умолчанию серого цвета uitabbaritem в UITabBarController?] (Http://stackoverflow.com/questions/4604555/how-to -Изменение-умолчанию-на-серо-цвет-оф-uitabbaritem-в-UITabBarController) –

ответ

4

Используйте этот код:

[self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"test"] 
withFinishedUnselectedImage:[UIImage imageNamed:@"test"]]; 
0

Вам нужно будет создать собственный TabBarController. В соответствии с документами Apple по этому вопросу «Этот класс [UITabBarController] не предназначен для подкласса». Документы на UITabBarItem говорят, что при поставке изображения для панели вкладок «Изображения, отображаемые на панели вкладок, получены из этого изображения». Таким образом, любое изображение, которое вы предоставляете на панели вкладок, получит управление, чтобы оно соответствовало «нормальному» виду изображения на панели вкладок.

Итак, вы можете создать UIViewController с некоторыми UIButtons в качестве подзонов, а затем управлять всем внешним видом и чувствовать себя таким образом.

0

Вы должны создать 2 изображения для всех 3 вкладок, один из которых не выбран, а второй выбран.

после этого в вашем appdelegate.m записи файла ниже код

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 
     // Override point for customization after application launch. 
     self.searchArray = [[NSMutableArray alloc]init]; 
     self.tabBarController = [[[UITabBarController alloc] init] autorelease]; 

     viewController1 *view1 = [[[viewController1 alloc] initWithNibName:@"viewController1" bundle:nil] autorelease]; 
     view1.tabBarItem.image = [UIImage imageNamed:@"tab-selected-1"]; 
     view1.tabBarItem.title = @"Title1";   

     viewController2 *view2 = [[[viewController2 alloc] initWithNibName:@"viewController2" bundle:nil] autorelease]; 
     view2.tabBarItem.image = [UIImage imageNamed:@"tab-selected-2"]; 
     view2.tabBarItem.title = @"Title2"; 

     viewController3 *view3 = [[[viewController3 alloc] initWithNibName:@"viewController3" bundle:nil] autorelease]; 
     view3.tabBarItem.image = [UIImage imageNamed:@"tab-selected-3"]; 
     view3.tabBarItem.title = @"Title3"; 



     self.tabBarController.viewControllers = [NSArray arrayWithObjects:view1, view2, view3, nil]; 

     UITabBarItem *tabBarItem1 = [[self.tabBarController.tabBar items] objectAtIndex:0]; 
     [tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"tab-selected-1.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab-unselected-1.png"]]; 


     UITabBarItem *tabBarItem2 = [[self.tabBarController.tabBar items] objectAtIndex:1]; 
     [tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@"tab-selected-2.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab-unselected-2.png"]]; 

     UITabBarItem *tabBarItem3 = [[self.tabBarController.tabBar items] objectAtIndex:2]; 
     [tabBarItem3 setFinishedSelectedImage:[UIImage imageNamed:@"tab-selected-3.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab-unselected-3.png"]]; 


     return YES; 
} 

попробуйте это ваша проблема решена угрюмым. Best Of Luck

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