ios – 在NSAttributedString中替换整个文本字符串,而不修改其他属性

我有一个NSAttributedString的引用,我想改变属性字符串的文本.

我想我必须创建一个新的NSAttributedString并使用这个新的字符串更新引用.然而,当我这样做,我失去了以前的字符串的归因.

NSAttributedString *newString = [[NSAttributedString alloc] initWithString:text];
[self setAttributedText:newString];

我引用了self.attributedText中的旧的归属字符串.我如何保留以前归属于新字符串?

解决方法

您可以使用NSMutableAttributedString,只是更新字符串,属性将不会更改.
例:
NSMutableAttributedString *mutableAttributedString = [[NSMutableAttributedString alloc] initWithString:@"my string" attributes:@{NSForegroundColorAttributeName: [UIColor blueColor],NSFontAttributeName: [UIFont systemFontOfSize:20]}];

//update the string
[mutableAttributedString.mutableString setString:@"my new string"];

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...