繁体   English   中英

如何在UITabBarItem上设置其他未选择的图像和文本颜色

[英]How to set a different unselected image and text color on UITabBarItem

我想为UITabBarItem的标题文本和图像设置处于未选择状态的不同颜色。

对于选定状态,我可以这样完成:

[[UITabBar appearance] setTintColor:[UIColor purpleColor]]; // image color
[[UITabBarItem appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName: [UIColor orangeColor] } forState:UIControlStateSelected]; // text color

对于未选中状态,我正在尝试以下操作:

[[UITabBar appearance] setUnselectedItemTintColor:[UIColor blueColor]]; // image color
[[UITabBarItem appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName: [UIColor redColor] } forState:UIControlStateNormal]; // text color

但是由于某些原因, unselectedItemTintColor设置会覆盖我为titleTextAttributes设置的所有内容,因此在上面的代码段中,文本和图像都将显示为蓝色。

我还尝试在创建UITabBarItem之后直接在UITabBarItem上更改titleTextAttributes (而不是使用appearance ),但这似乎没有任何效果。

如何获得不同的未选择颜色? 可能吗?

发布后不久,我设法解决了这个问题。 事实证明,尽管使用UIAppearance设置unselectedItemTintColor会覆盖该项目的titleTextAttributes ,但如果直接在选项卡栏本身上设置unselectedItemTintColor ,则一切正常。

所以代替

[[UITabBar appearance] setUnselectedItemTintColor:[UIColor blueColor]];

做就是了

[self.myTabBarInstance setUnselectedItemTintColor:[UIColor blueColor]];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM