如何更改选定和未选定的标签栏图像颜色

我正在尝试更改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]; 

在图像资源内部,如果我将特定图像渲染为原始图像,则可以使用,但选择颜色对图像不起作用。

请告诉我可以做些什么。

提前致谢…

尝试以下代码:当您想以编程方式设置时。

 // 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"; 

或者您可以在故事板中设置它,选择特定选项卡项并查看下面的内容

在此处输入图像描述