Jos*_*hua 11 html objective-c nsattributedstring ios
我需要将其转换回HTML,而不是将HTML转换为属性字符串.这可以在Mac上轻松完成,如下所示:http://www.justria.com/2011/01/18/how-to-convert-nsattributedstring-to-html-markup/
不幸的是,该方法dataFromRange:documentAttributes:仅在Mac上通过NSAttributedStringAppKit Additions提供.
我的问题是你怎么能在iOS上这样做?
不是'简单'的方式,而是使用以下方法迭代字符串的属性:
- (void)enumerateAttributesInRange:(NSRange)enumerationRange
options:(NSAttributedStringEnumerationOptions)opts
usingBlock:(void (^)(NSDictionary *attrs, NSRange range, BOOL *stop))block
Run Code Online (Sandbox Code Playgroud)
有一个NSMutableString变量来累积HTML(让我们称之为'html').在块中,您将使用字符串手动构造HTML.例如,如果文本属性'attrs'指定红色粗体文本:
[html appendFormat:@"<span style='color:red; font-weight: bold;'>%@</span>", [originalStr substringWithRange:range]]
编辑:昨天偶然发现:
来自"UliKit"的NSAttributedString + HTMLFromRange类别(https://github.com/uliwitness/UliKit/blob/master/NSAttributedString+HTMLFromRange.m)
看起来它会做你想要的.
| 归档时间: |
|
| 查看次数: |
4264 次 |
| 最近记录: |