如何解决NSString呈现HTML标记?
| 我正在开发一个显示内容的应用程序,该内容也显示在该应用程序的网页版本上。屏幕上显示的是带有标记的文本,但显示在UITextView中。 文本中嵌入了HTML标签,例如break0ѭ,<p>
和<em>
分别代表break,段落和粗体(强调)。
是否存在NSString或UITextView中的文本的编码,该编码可以呈现HTML标记,就像它们在网页中显示的一样?我想看到中断,新段落,粗体等等,而不仅仅是剥离html标签。
提前致谢。
解决方法
您可以使用UIWebView在iPhone应用程序上查看HTML内容,而无需使用
UITextView
。 NSString
作为字符串存储。它不会渲染。
, 以下是从UIWebView中的字符串加载html的简单代码。您可以使用Webview的其他属性来自定义webview,以实现html链接中的用户交互,您需要实现UIWebView委托。
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(10,300,300)];
NSString *html = [NSString stringWithFormat:@\"%@\",YOUR_HTML_GOES_HERE];
[webView loadHTMLString:html baseURL:[NSURL URLWithString:@\"\"]];
[self addSubview:webView];
[webView release];
, 您可以使用UITextView通过NSAttributedString呈现html,如下所示(在iOS 7.0和更高版本上可用):
NSAttributedString *attributedString = [[NSAttributedString alloc]
initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding]
options:@{
NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType
}
documentAttributes:nil
error:nil];
textView.attributedText = attributedString;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。