设置TabBarItem的文字属性

- 直接设置每一个tabBarItem对象

// 普通状态下的文字属性

NSMutableDictionary *normalAttrs = [NSMutableDictionary dictionary];

normalAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:14];

normalAttrs[NSForegroundColorAttributeName] = [UIColor grayColor];

[vc.tabBarItem setTitleTextAttributes:normalAttrs forState:UIControlStateNormal];

// 选中状态下的文字属性

NSMutableDictionary *selectedAttrs = [NSMutableDictionary dictionary];

selectedAttrs[NSForegroundColorAttributeName] = [UIColor darkGrayColor];

[vc.tabBarItem setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected];

// 字典中用到的key

1.iOS7之前(在UIStringDrawing.h中可以找到)

- 比如UITextAttributeFont\UITextAttributeTextColor

- 规律:UITextAttributeXXX

2.iOS7开始(在NSAttributedString.h中可以找到)

- 比如NSFontAttributeName\NSForegroundColorAttributeName

- 规律:NSXXXAttributeName


- 通过UITabBarItem的appearance对象统一设置


/**** 设置所有UITabBarItem的文字属性 ****/

UITabBarItem *item = [UITabBarItem appearance];

// 普通状态下的文字属性

NSMutableDictionary *normalAttrs = [NSMutableDictionary dictionary];

normalAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:14];

normalAttrs[NSForegroundColorAttributeName] = [UIColor grayColor];

[item setTitleTextAttributes:normalAttrs forState:UIControlStateNormal];

// 选中状态下的文字属性

NSMutableDictionary *selectedAttrs = [NSMutableDictionary dictionary];

selectedAttrs[NSForegroundColorAttributeName] = [UIColor darkGrayColor];

[item setTitleTextAttributes:normalAttrs forState:UIControlStateSelected];

你可能感兴趣的:(设置TabBarItem的文字属性)