UITabBar 所选项目色调颜色

Posted

技术标签:

【中文标题】UITabBar 所选项目色调颜色【英文标题】:UITabBar Selected Item Tint Color 【发布时间】:2016-11-17 10:11:31 【问题描述】:

我正在开发一个 UITabBar 应用程序。

我想用

更改选定的项目颜色
[[UITabBar appearance] setTintColor:[UIColor redColor]]

这有效,直到我想用

设置 TabBar 的背景颜色
[[UITabBar appearance] setBarTintColor:[UIColor blueColor]]

然后栏是蓝色的,但突出显示的项目是灰色的。

[[UITabBar appearance] setBackgroundColor:[UIColor blueColor]]

没有效果。 任何的想法? 非常感谢!

【问题讨论】:

您可以尝试使用图片作为背景,而不是使用颜色。 谢谢 - 背景图片由另一个应用程序处理。但我现在用两种颜色制作了图标 :) 【参考方案1】:

试试这个代码

//Set greenColor for normal State
[UITabBarItem.appearance setTitleTextAttributes:@
        UITextAttributeTextColor : [UIColor greenColor]  forState:UIControlStateNormal];
//Set purpleColor for normal State  


[UITabBarItem.appearance setTitleTextAttributes:@
        UITextAttributeTextColor : [UIColor purpleColor]      forState:UIControlStateSelected];

希望这会有所帮助。

【讨论】:

【参考方案2】:

您发布的代码似乎可以正常工作。你也可以用图像来做。试试这个:

[tabBarItem1 setImage:[[UIImage imageNamed:@"home.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[tabBarItem1 setSelectedImage:[[UIImage imageNamed:@"home_selected.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

// Change the tab bar background
UIImage* tabBarBackground = [UIImage imageNamed:@"tabbar.png"];
[[UITabBar appearance] setBackgroundImage:tabBarBackground];
[[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"tabbar_selected.png"]];

【讨论】:

谢谢,这就是我现在所做的。我仍然用 UIColor 设置背景,但有选择和未选择的图标

以上是关于UITabBar 所选项目色调颜色的主要内容,如果未能解决你的问题,请参考以下文章

UITabBar 色调颜色不适用于图像

UITabBar 选择的色调颜色

在 UITabBar 中为选定选项卡设置色调颜色

自定义 iOS UINavigationBar/UITabBar 并移除 Tint Colors

更改未选择的标签栏项目图像的颜色而不使其成为原始图像

UITabBar 未在 ios 7 中显示所选项目图像