这里使用的是swift语言,oc也是一样的,类比一下就可以了
- 1, 默认情况下,添加标题,常规图片和选中图片之后,不论你的原来的图片是什么颜色,未选中的标题和图片都是灰色,选中标题和图片颜色是蓝色
-
2, 如果想要图片完全和自己的图片颜色是一样的,需要设置下面的属性:
一旦更改下面的设置,那么图片的颜色就和你原有的图片颜色一致,如下:
- 3, 这时候图片颜色如果是我们想要的,ok,那么文字颜色还是蓝色的,修改文字颜色:
设置属性tabBar的tintColor
self.tabBar.tintColor = UIColor.orange
- 4, ok,字体颜色也改过了,但是如果我们还想要修改未被选中的文字颜色怎么办呢?
这是时候我们需要修改的是UITabBarItem的appearance属性
//设置普通状态下的文字颜色(设置完这个之后tintColor也就不起作用了,优先级问题)
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.red], for: .normal)
//然后再设置选中状态下的文字颜色
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.orange], for: .selected)
5, ok,未被选中的文字也被修改成了我们想要的颜色。(我们的素材图片为选中的时候是灰色,选中的时候是橙色)。这个时候基本也就结束了,但是我们的素材颜色明显和我们设置的颜色不搭,那么我们可不可以统一设置成我们想要的颜色,而不是用素材颜色,也不适用默认的灰色和蓝色呢,肯定是可以的啦:
5.1, 首先还是把图片设置成template image
5.2, 通过tintColor来统一设置问题和图片的颜色,如下;
ps:我这里没有找到合适的修改默认为选中时候图标是灰色的情况,tintColor只能用来修改选中的时候情况,如果有人知道如何修改默认灰色的情况,请私信我一下,先谢过啦!