给tabBar按钮标题统一设置颜色和字体大小

利用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];

}

你可能感兴趣的:(给tabBar按钮标题统一设置颜色和字体大小)