[英]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.