给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];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容