我正在开发一个应用程序,显示同样显示在应用程序的网页版本上的内容。我获得了与网页显示相同的标记文本,但是在UITextView中。
文本中嵌入了HTML标记,例如<BR>
,<p>
和<em>
,分别用于中断,段落和粗体(强调)。
是否存在NSString或UITextView中的文本的编码,可以呈现HTML标记,因为它们将显示在网页中?我希望看到中断,新段落,粗体等等,而不仅仅是剥离html标签。 提前谢谢。
答案 0 :(得分:2)
您可以使用UIWebView在iPhone应用程序上查看HTML内容,而不是使用UITextView
。 NSString
以字符串形式存储。它没有呈现它。
答案 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;