La image de UITabBarItem está en azul y no cambió.

Um usando mi propio TabBarController que es ElWafyatTabBarController básicamente henetworkinga de UITabBarController .

En ElWafyatTabBarController.m -> viewDidLoad

He creado algunos ViewControllers , y luego he creado el UINavigationController con rootViewController para los viewControllers que he creado en el paso anterior.

entonces he creado UITabBarItem y lo configuré con la image y el título para cada controller de navigation que tenga rootViewController para los viewControllers que he creado en el primer paso y establezco tabBarItem para estos navigationController en estos tabBarItem .

El problema que encontré es que incluso el título para UITabBarItem se muestra correctamente, pero la image se muestra en color azul.

FYI: He creado dos imágenes llamadas test.png y test@2x.png con dimensiones 32×32 y 64×64 y todavía tengo este problema, ¿Entonces alguien puede ayudar?

este es mi Código:

ElWafyatTabBarController -> viewDidLoad

 - (void)viewDidLoad { [super viewDidLoad]; HomeViewController *homeViewController = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil]; NaaiViewController *naaiViewController = [[NaaiViewController alloc] initWithNibName:@"NaaiViewController" bundle:nil]; MushatraViewController *mushatraViewController = [[MushatraViewController alloc] initWithNibName:@"MushatraViewController" bundle:nil]; TakremViewController *takremViewController = [[TakremViewController alloc] initWithNibName:@"TakremViewController" bundle:nil] UINavigationController *homeNavC = [[UINavigationController alloc]initWithRootViewController:homeViewController]; UINavigationController *naaiNavC = [[UINavigationController alloc]initWithRootViewController:naaiViewController]; UINavigationController *mushatraNavC = [[UINavigationController alloc]initWithRootViewController:mushatraViewController]; UINavigationController *takremNavC = [[UINavigationController alloc]initWithRootViewController:takremViewController]; // Setup Controllers for Tab Bar. (first level). // [homeNavC.tabBarItem setTitle:@"الرئيسية"]; // [naaiNavC.tabBarItem setTitle:@"نعي"]; // [mushatraNavC.tabBarItem setTitle:@"مشاطرة"]; // [takremNavC.tabBarItem setTitle:@"تكريم"]; homeNavC.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor]; naaiNavC.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor]; mushatraNavC.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor]; takremNavC.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:UITextAttributeTextColor]; homeNavC.navigationBar.barStyle = UIBarStyleBlack; naaiNavC.navigationBar.barStyle = UIBarStyleBlack; mushatraNavC.navigationBar.barStyle = UIBarStyleBlack; takremNavC.navigationBar.barStyle = UIBarStyleBlack; UITabBarItem* tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Colors" image:[UIImage imageNamed:@"test.png"] tag:9]; homeNavC.tabBarItem = tabBarItem; myViewControllers = [ NSArray arrayWithObjects:takremNavC, mushatraNavC, naaiNavC, homeNavC,nil]; [self setViewControllers:myViewControllers animated:YES]; [self.tabBarController setSelectedIndex:3]; [self setSelectedIndex:3]; } 

y estos la salida:

introduzca la descripción de la imagen aquí

Si desea ver su image, debe configurar el modo de representación de la image en UIImageRenderingModeAlwaysOriginal , de lo contrario, la image se mostrará como una image de plantilla. Debe leer la documentation en las barras de tabs, tiene esta statement:

Íconos de la barra de tabs

Cada elemento en una barra de tabs puede tener una image personalizada seleccionada y una image no seleccionada. Puede especificar estas imágenes al inicializar un elemento de la barra de tabs usando el método initWithTitle: image: selectedImage:. Tenga en count que una image de elemento de barra de tabs se representará automáticamente como una image de plantilla dentro de una barra de tabs, a less que establezca explícitamente su modo de representación en UIImageRenderingModeAlwaysOriginal. Para get más información, vea Imágenes de templates.

El azul es el color de tinte pnetworkingeterminado para UITabbar en iOS 7. Puede cambiarlo al color que desee al configurar:

 myTabbar.tintColor = [UIColor greenColor]; //Put the color of your choice 

si tiene UITabBar:

  UITabBar *tabBar = _tabBarController.tabBar; UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0]; 

establezca la image de tabBarItem1 así:

  [tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"Selected_your_image"] withFinishedUnselectedImage:[UIImage imageNamed:@"UNSelected_your_image"]]; 

configure la image seleccionada y no seleccionada de cada UITabBarItem (es) de UITabBar.

Vaya a Assets.xcassets > Click on you image > Attribute Inspector > Render As > Original Image

imagen original