作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的应用程序中使用 UITextview
。我已将 allowsEditingTextAttributes 属性设置为 YES,以便在用户从浏览器复制粘贴到 textView 并且工作正常时显示图像和格式化文本。
我想从 UITextView
中以 html 格式取回内容,有什么方法可以获取它吗? (我可以使用 UIWebView
实现它,但我只需要使用 UITextView
)
谢谢
最佳答案
据我所知,Apple 没有提供 API 来做你想做的事。您需要从 UITextView
获取作为 NSAttributedString
的属性文本并将其转换为 HTML。但是,有一些开源项目,例如 DTCoreText .如果您不寻求非常高级的功能,您也可以自己构建它,只需遍历字符串的字符并分析样式属性即可。
编辑:实际上,现在有一个 API 可以做到这一点!您可以使用 NSAttributedString
的 dataFromRange:documentAttributes:error:
,传递 NSHTMLTextDocumentType
作为请求的文档类型。干杯!
示例(在 Swift 中,在 Objective-C 中可以类似地完成):
//Grab the attributed string, convert it to HTML data
let data = try self.textView.attributedText.dataFromRange(
NSMakeRange(0, self.textView.attributedText.length),
documentAttributes: [NSDocumentTypeDocumentAttribute : NSHTMLTextDocumentType]
)
//Convert the UTF-8 data to a string, display it in the text view
self.textView.attributedText = NSAttributedString(
string: NSString(data: data, encoding: NSUTF8StringEncoding)! as String
)
关于html - 如何在 iOS 中从 NSAttributedString 获取 html 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36581954/
我是一名优秀的程序员,十分优秀!