0

Я пытаюсь изменить цвет элемента панели вкладок в приложении iOS.Как изменить цвет изображения панели вкладок для выбранных и невыбранных

Контроллеры детского вида встроены в навигационный контроллер.

Я добавил этот код в AppDelegate, который просто меняет цвет текста.

[UITabBarItem.appearance setTitleTextAttributes: 
@{NSForegroundColorAttributeName : [UIColor colorWithRed:38/255.0 green:54/255.0 blue:73/255.0 alpha:1.0]} 
             forState:UIControlStateNormal]; 

[UITabBarItem.appearance setTitleTextAttributes:@{NSForegroundColorAttributeName : kColorTabbarNavigationBarTint} 
             forState:UIControlStateSelected]; 

А внутри изображения активов, если я конкретное изображение, которое будет вынесено в оригинале она работает, но цвет выбор не работает для изображения.

Пожалуйста, дайте мне знать, что можно сделать.

Заранее спасибо ...

+0

Вы должны установить выбранное изображение и ООН выбранного изображения для конкретного элемента вкладки – VRAwesome

+0

Да я попытался установить, что в каждом из классов viewcontroller не работает. не следует ли устанавливать изображение в раскадровке для элементов панели табуляции? –

+0

Да, конечно, вы можете установить его из раскадровки. – VRAwesome

ответ

2

Try ниже код: Если вы хотите установить программно.

// get your TabBarController 
//UITabBarController *tabBarController = self.tabBarController 
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; 
UITabBar *tabBar = tabBarController.tabBar; 

UITabBarItem *tabItem1 = [tabBar.items objectAtIndex:0]; 
[tabItem1 setSelectedImage:[UIImage imageNamed:@"selectimg"]]; 
tabItem1.selectedImage = [[UIImage imageNamed:@"selectimg"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]; 
tabItem1.image = [[UIImage imageNamed:@"deselectimg"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]; 
tabItem1.title = @"xxxx"; 

UITabBarItem *tabItem2 = [tabBar.items objectAtIndex:1]; 
tabItem2.selectedImage = [[UIImage imageNamed:@"selectimg"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]; 
tabItem2.image = [[UIImage imageNamed:@"deselectimg"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]; 
tabItem2.title = @"xxxx"; 

UITabBarItem *tabItem3 = [tabBar.items objectAtIndex:2]; 
tabItem3.selectedImage = [[UIImage imageNamed:@"selectimg"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]; 
tabItem3.image = [[UIImage imageNamed:@"deselectimg"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]; 
tabItem3.title = @"xxxx"; 

UITabBarItem *tabItem4 = [tabBar.items objectAtIndex:3]; 
tabItem4.selectedImage = [[UIImage imageNamed:@"selectimg"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]; 
tabItem4.image = [[UIImage imageNamed:@"deselectimg"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]; 
tabItem4.title = @"xxxx"; 

Или вы можете установить его в раскадровке, выберите конкретную вкладку пункт и смотрите ниже

enter image description here

+0

Для этого мне нужно установить изображение в контроллерах просмотра панели вкладок в раскадровке? или мне нужно оставить это пустым? –

+0

См. Обновленный ответ. – VRAwesome

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