UIFont *font = FONT(RU_WIDTH(11));
if (@available(iOS 13, *)){
//iOS 13 需要以下两行代码,这种方式,设置字体颜色,否则当控制器push到一个隐藏tabbar的页面,再返回来,字体颜色就被修改成默认色了
[[UITabBar appearance] setUnselectedItemTintColor:MediumTextColor];
[[UITabBar appearance] setTintColor:HEXCOLOR(@"#FF543A")];
//设置字体大小(iOS13 下仍然适用)
NSDictionary *dic = @{NSFontAttributeName : font};
[[UITabBarItem appearance] setTitleTextAttributes:dic forState:UIControlStateNormal];
[[UITabBarItem appearance] setTitleTextAttributes:dic forState:UIControlStateSelected];
}
else{
// 普通状态下的文字属性
NSMutableDictionary *normalAttrs = [NSMutableDictionary dictionary];
normalAttrs[NSForegroundColorAttributeName] = HEXCOLOR(@"#666666");
normalAttrs[NSFontAttributeName] = font;
// set the text color for selected state
// 选中状态下的文字属性
NSMutableDictionary *selectedAttrs = [NSMutableDictionary dictionary];
selectedAttrs[NSForegroundColorAttributeName] = HEXCOLOR(@"#FF543A");
selectedAttrs[NSFontAttributeName] = font;
// set the text Attributes
// 设置文字属性
UITabBarItem *tabBar = [UITabBarItem appearance];
[tabBar setTitleTextAttributes:normalAttrs forState:UIControlStateNormal];
[tabBar setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];
}
//创建视图,覆盖tabbar顶部黑线。
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, -1, RU_SCREEN_WIDTH, 50)];
view.backgroundColor = [UIColor whiteColor];
[_mainTabBarController.tabBar insertSubview:view atIndex:0];
来源:CSDN
作者:qq_32940999
链接:https://blog.csdn.net/qq_32940999/article/details/104802659