NSAttributedString加载带有图像的html
我试图在iOS 7中使用NSAttributedString加载带有图像的html,html,ios7,uitextview,nsattributedstring,Html,Ios7,Uitextview,Nsattributedstring,我试图在iOS 7中使用NSAttributedString呈现html文档(作为UIWebView替代方案调查的一部分)。代码如下: NSData *htmlData = [NSData dataWithContentsOfFile:self.chapterPath]; NSAttributedString *attrString = [[NSAttributedString alloc] initWithData:htmlData
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%"/>
可以使用
NSAttributedString
呈现带有图像的HTML。问题是在“src”属性中,我认为相对链接不起作用。通过file://
或通过http
/https
到Internet资源的完整链接是可以接受的
附工作示例的文章:
在iOS 14上包含标签似乎可以,但在Mac Catalyst 14上不可以,NSAttributedString调用失败。NSAttributedString的文档中写道:“从主线程调用它是可行的(但如果HTML包含对外部资源的引用,则仍然会超时,这应该不惜一切代价加以避免)。HTML导入机制旨在实现标记(即文本样式、颜色等)之类的功能,而不是用于一般的HTML导入。”在哪里呈现HTML?当普通字符串包含HTML时,为什么HTML需要在属性字符串中?我尝试在UITextView中呈现。iOS 7引入了对NSAttributed Strings的HTML支持当然这只是HTML文本样式,而不是完整的HTML5支持?因此您希望
UITextView
从img
标记指示的位置获取图像数据并显示图像?我认为您需要进一步研究哪些HTML功能受支持,哪些不受支持(正如我所说,我很确定它将仅限于文本样式)。但是如果支持在NSAttributedString
类中,可以合理地假设它只支持可以在属性字符串中表示的HTML特性,而不支持图像。您需要的是web视图。