NSString呈现HTML标签?

时间:2011-06-18 00:01:08

标签: html cocoa-touch nsstring rendering uitextview

我正在开发一个应用程序,显示同样显示在应用程序的网页版本上的内容。我获得了与网页显示相同的标记文本,但是在UITextView中。

文本中嵌入了HTML标记,例如<BR><p><em>,分别用于中断,段落和粗体(强调)。

是否存在NSString或UITextView中的文本的编码,可以呈现HTML标记,因为它们将显示在网页中?我希望看到中断,新段落,粗体等等,而不仅仅是剥离html标签。 提前谢谢。

3 个答案:

答案 0 :(得分:2)

您可以使用UIWebView在iPhone应用程序上查看HTML内容,而不是使用UITextViewNSString以字符串形式存储。它没有呈现它。

答案 1 :(得分:2)

以下是在UIWebView中从字符串加载html的简单代码。您可以使用其他属性自定义Webview,以便在html中的链接上进行用户交互,以实现UIWebView委托。

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 0, 300, 300)];

NSString *html = [NSString stringWithFormat:@"%@", YOUR_HTML_GOES_HERE];
[webView loadHTMLString:html baseURL:[NSURL URLWithString:@""]];

[self addSubview:webView];
[webView release];

答案 2 :(得分:0)

您可以使用UITextView使用NSAttributedString呈现html,如下所示(在iOS 7.0及更高版本中可用):

NSAttributedString *attributedString = [[NSAttributedString alloc] 
initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] 
                                   options:@{
               NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType
                                            }
                        documentAttributes:nil
                                     error:nil];
textView.attributedText = attributedString;