OStack程序员社区-中国程序员成长平台

标题: ios - 更改属性 TextView 中一个单词的颜色(objective-c) [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 16:49
标题: ios - 更改属性 TextView 中一个单词的颜色(objective-c)

我有一个带有属性文本的 TextView 。我正在尝试将属性文本的前 14 个字母(“隐私政策”)的颜色更改为存储值“appTintColor”。此应用程序的色调颜色存储在 p 列表中,并且针对每个应用程序目标具有不同的颜色。

如何将 textView 属性文本的前 5 个字母更改为这个变量“appTintColor”?我知道我可以使用 xCode 界面轻松地将颜色更改为 RGB/HEX 颜色...但我想将此颜色更改为基于应用目标的动态变量“appTintColor”。

我是否在文本字段中添加一个导出,为前 14 个字符添加下标,并将其设置为 appTintColor?这就是我的逻辑,但我似乎无法在代码中得到它。

enter image description here



Best Answer-推荐答案


你需要一个 NSMutableAttributedString - 试试下面的代码:

UIColor *color = [UIColor greenColor];

NSString *privacyPolicyFullStr = @"rivacy policy\n blah stuff things blah cat bat mongoose platypus";

NSMutableAttributedString *mutAttrStr = [[NSMutableAttributedString alloc]initWithString:privacyPolicyFullStr attributes:nil];

NSString *privacyPolicyShortStr = @"rivacy Policy"; //just to avoid using a magic number
NSDictionary *attributes = @{NSForegroundColorAttributeName:color};
[mutAttrStr setAttributes:attributes range:NSMakeRange(0, privacyPolicyShortStr.length)];

self.textView.attributedText = mutAttrStr; 

关于ios - 更改属性 TextView 中一个单词的颜色(objective-c),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33270761/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4