利用tabBarItem设置完标题文字后,默认选中是蓝色的,一般希望是黑色的,这个时候马上想到利用富文本属性三步法去设置
给tabBar上按钮文字统一设置字体大小和颜色:
tabBar控制器中,在load类方法中,通过UITabBarItem调用appearanceWhenContainedInClasses方法,设置当前控制器类中的UITabBarItem的appearance,返回tabBarItem对象,让其获取到修改外观权限,解锁,这样通过包含富文本属性的字典,tabBarItem调用setTitleTextAttributes时,就统一修改了tabBar上整个文字的大小和颜色
代码:
+(void)load
{
//9.0之前是appearanceWhenContainedIn:后面只用self就可以了,9.0之后的参数为多个类的数组,这里只要求当前控制器类,所以self外面加上@[]
UITabBarItem *tabBarItem = [UITabBarItem appearanceWhenContainedInInstancesOfClasses:@[self]];
NSMutableDictionary *textColorDic = [NSMutableDictionary dictionary];
//这里的key不要加上@“”
textColorDic[NSForegroundColorAttributeName] = [UIColor blackColor];
[tabBarItem setTitleTextAttributes:textColorDic forState:UIControlStateSelected];
//设置字体大小只能在正常状态下设置,所以用了两个字典
NSMutableDictionary *textSizeDic = [NSMutableDictionary dictionary];
textSizeDic[NSFontAttributeName] = [UIFont systemFontOfSize:13.0];
[tabBarItem setTitleTextAttributes:textSizeDic forState:UIControlStateNormal];
}
网友评论