我使用attributedText
属性label
来呈现html。NSAttributedString不呈现html换行符
它与渲染粗体和斜体正常工作。但是,当我尝试呈现HTML换行符时,它只会切断换行符后出现的所有文本。
NSString* view = @"<i>Testing</i> and this is <b>bold</b> <br> This should be in next line";
NSDictionary *options = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType};
NSAttributedString *preview = [[NSAttributedString alloc] initWithData:[view dataUsingEncoding:NSUTF8StringEncoding] options:options documentAttributes:nil error:nil];
self.labelView.attributedText = preview;
帮助需要
也许你错过了NSUTF8StringEncoding字符编码部分解决,如下所示:http://stackoverflow.com/questions/4217820/convert-html-to-nsattributedstring-in -ios'[[NSAttributedString的alloc] initWithData:[htmlString dataUsingEncoding:NSUTF8StringEncoding] 选项:@ {NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)} documentAttributes:无误差:无];' – Zhang 2014-11-06 06:57:37
我应该然后使用什么编码因为html不会是网页,但主要用于格式化文本 – 2014-11-06 06:59:02
是否替换'@ {NSDocumentTypeDocumentAttribute:NSHTMLTextDoc umentType};'带'@ {NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)};'help? – Zhang 2014-11-06 07:00:46