我正在尝试在iOS 7中使用NSAttributedString
呈现html文档(作为对UIWebView替代品的调查的一部分)。代码如下:
NSData *htmlData = [NSData dataWithContentsOfFile:self.chapterPath];
NSAttributedString *attrString = [[NSAttributedString alloc] initWithData:htmlData
options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)}
documentAttributes:nil error:nil];
self.readerTextView.attributedText = attrString;
self.readerTextView.editable = NO;
没有显示图像。是否可以使用此方法使用图像呈现HTML,或者我是否错过了一些选项或属性?感谢。
更新
一些未显示的标签:
<img src="images/cover.jpg" alt="cover" style="height: 100%"/>
答案 0 :(得分:1)
可以使用NSAttributedString
使用图像呈现HTML。问题是在“src”属性中我认为相对链接不起作用。通过file://
或通过http
/ https
访问互联网资源的完整链接是可以接受的。
文章与工作实例:
http://initwithfunk.com/blog/2013/09/29/easy-markdown-rendering-with-nsattributedstring-on-ios-7/ https://github.com/ericallam/MarkyMark
答案 1 :(得分:0)
在iOS 14上包含标记似乎可以,但在Mac Catalyst 14上则不能,NSAttributedString调用失败。从NSAttributedString的文档中:“从主线程调用它是可行的(但如果HTML包含对外部资源的引用,仍然会超时,应不惜一切代价避免。)HTML导入机制旨在实现诸如markdown(即文本样式,颜色等),而不是用于常规HTML导入。”