使用 NSAttributedString 更改字符串的颜色和字体

Posted

技术标签:

【中文标题】使用 NSAttributedString 更改字符串的颜色和字体【英文标题】:Change color and font of a string using NSAttributed String 【发布时间】:2013-10-11 02:50:50 【问题描述】:

我有一个字符串,其中最后一个单词与整个字符串中的其他单词相比总是具有不同的颜色,例如:如果字符串颜色是黑色,那么语句中的最后一个单词将是红色。我正在使用 NSAttributed 字符串,如下所示:

NSDictionary *attrDict = [NSDictionary dictionaryWithObject:[UIFont fontWithName:Arial size:16.0] forKey:NSFontAttributeName];
NSMutableAttributedString *AattrString = [[NSMutableAttributedString alloc] initWithString:@"This is a" attributes: attrDict];

我会为最后一个单词制作类似的 NSAttributedString 并用第一个字符串对其进行修改。

问题:我想将颜色与字体一起添加到字符串中。我已经在使用字典处理字体了。但是我可以在同一个字典中添加颜色处理程序/代码还是在 NSAttributedString 上使用“addAttribute:”是添加颜色或任何其他属性的唯一其他方法?

【问题讨论】:

【参考方案1】:

将颜色添加到与字体相同的字典中:

NSDictionary *attrDict = @
    NSFontAttributeName : [UIFont fontWithName:Arial size:16.0],
    NSForegroundColorAttributeName : [UIColor redColor]
;

【讨论】:

以上是关于使用 NSAttributedString 更改字符串的颜色和字体的主要内容,如果未能解决你的问题,请参考以下文章

使用 NSAttributedString 更改字符串的颜色和字体

更改 NSAttributedString html 链接颜色

仅更改 NSAttributedString 的字体大小

使用 NSAttributedString 设置字体

在不丢失 Html 样式的情况下更改 NSAttributedString 中的字体大小 - Swift

富文本常用封装(NSAttributedString)