更改 tabbar 字体颜色有两种方法:
第一种:
[tabbarItem setTitleTextAttributes:@{NSForegroundColorAttributeName:selectColor} forState:UIControlStateSelected];
此方法在 iOS 13 会有 bug,当我们 push 到下一页再次返回时 tabbar 字体颜色设置会失效。
第二种:
self.tabBar.tintColor = selectColor;
此方法在 iOS 13 可以使用,不会出现问题。
ps:
ios 13中使用富文本设置tabbar默认颜色异常
[obj.tabBarItem setTitleTextAttributes:@{NSFontAttributeName:[UIFont customWithName:@"PingFangSC-Regular" size:10],NSForegroundColorAttributeName:[UIColor blackColor]} forState:UIControlStateNormal];
[obj.tabBarItem setTitleTextAttributes:@{NSFontAttributeName:[UIFont customWithName:@"PingFangSC-Regular" size:10],NSForegroundColorAttributeName:[UIColor colorWithHex:@"#2C68FF"]} forState:UIControlStateSelected];
修改:
if (@available(iOS 10.0, *)) {
self.tabBar.unselectedItemTintColor = [UIColor blackColor];
self.tabBar.tintColor = [UIColor colorWithHex:@"#2C68FF"];
} else {
// Fallback on earlier versions
}