OC - Tabbar的选中文字改变颜色

Posted iOS学习-文

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OC - Tabbar的选中文字改变颜色相关的知识,希望对你有一定的参考价值。

系统默认是 蓝色。但是当 tabbarItem的 选中图标改成了 灰色后,我们也希望把 文字改成 灰色。这个时候就用到了“

setTitleTextAttributes” 方法。

可以在  “ UITabBarItem ” 类的父类 “ UIBarItem ” 类中找到下面这个方法:

/* You may specify the font, text color, and shadow properties for the title in the text attributes dictionary, using the keys found in NSAttributedString.h.

 */

- (void)setTitleTextAttributes:(nullable NSDictionary<NSString *,id> *)attributes forState:(UIControlState)state NS_AVAILABLE_ios(5_0) UI_APPEARANCE_SELECTOR;

这个方法是用来改变 文字的颜色。 可以在 “NSAttributedString.h” 类中找到 Keys.

    // 默认
    NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
    attrs[NSFontAttributeName] = [UIFont systemFontOfSize:12];
    attrs[NSForegroundColorAttributeName] = [UIColor grayColor];
    [essenceVC.tabBarItem setTitleTextAttributes:attrs forState:UIControlStateNormal];
    
    // 选中
    NSMutableDictionary *attrSelected = [NSMutableDictionary dictionary];
    attrSelected[NSFontAttributeName] = [UIFont systemFontOfSize:12];
    attrSelected[NSForegroundColorAttributeName] = [UIColor darkGrayColor];
    [essenceVC.tabBarItem setTitleTextAttributes:attrSelected forState:UIControlStateNormal];

 

以上是关于OC - Tabbar的选中文字改变颜色的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发之--使用storyboard下,tabbar小图标和文字颜色的设置

flutter TabBar改变tab大小

改变选中区域的文字和背景颜色

QTableWidget选中Item之后,不改变文字颜色

QTableWidget选中Item之后,不改变文字颜色

QTableWidget选中Item之后,不改变文字颜色