如何使用范围属性初始化NSAttributedString
?
就目前而言,我只能解决初始化后如何添加范围属性的问题,这显然对不可变的NSAttributedString
实例无效。
如果我有NSMutableAttributedString
,可以致电:
[str addAttribute:NSLinkAttributeName value:url range:range];
如果我有一个
NSAttributedString
,则可以构造它:[[NSAttributedString alloc] initWithString:str attributes:@{NSLinkAttributeName: url}];
但是我找不到一种将范围放入attributesDict的方法。
谢谢,
最佳答案
从NSMutableAttributedString开始。如果那不是您所需要的,请通过在NSAttributedString上调用mutableCopy
来创建可变副本。现在您有了一个NSMutableAttributedString。
因此,现在做您需要做的所有事情。
完成后,如果确实需要NSAttributedString,请在NSMutableAttributedString上调用copy
以获取不可变的副本。 (但是很难知道为什么需要这样做,因为您总是可以在需要NSAttributedString的地方传递NSMutableAttributedString。)
关于ios - 如何创建具有范围属性的不可变NSAttributedString,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33115775/