来自文件的预格式化 UITextView 内容

Posted

技术标签:

【中文标题】来自文件的预格式化 UITextView 内容【英文标题】:Pre-formatted UITextView content from file 【发布时间】:2020-01-28 12:24:57 【问题描述】:

我有一个应该在 UITextView 中显示的文本文件。我想添加对文本格式的支持,例如粗体。

是否可以在文件中定义这些格式选项并将其加载到 NSAttributedString 中?到目前为止,我发现的所有示例都将字符串的特定范围设置为例如粗体,但我想在磁盘上的文件中保留此格式选项。

换句话说 是否可以在文件中写入一些标记类型的文本并将其直接加载到 UITextView 中,同时保留文本格式。

【问题讨论】:

我们不清楚的问题。请更正确地编辑和重组它.. @dahiya_boy 我试图让它更清楚。 @7heViking - 你熟悉 html 格式吗? 【参考方案1】:

将文件内容中的所有文本包含在 HTML <b></b> 标记中,并使用一些 initWithHTML: 初始化器将其加载到 NSAttributedString 中,例如

- (nullable instancetype)initWithHTML:(NSData *)data 
     documentAttributes:(NSDictionary<NSAttributedStringDocumentAttributeKey,
id> * _Nullable * _Nullable)dict; 

【讨论】:

它引导我找到这个解决方案:[[NSAttributedString alloc] initWithData:[text dataUsingEncoding:NSUTF8StringEncoding] options:@NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding) documentAttributes:nil error:nil];

以上是关于来自文件的预格式化 UITextView 内容的主要内容,如果未能解决你的问题,请参考以下文章

请教UITextView 内容缩进问题

RxSwift之UI控件UITextField与UITextView扩展的使用

如何以编程方式更新 UITextView maximumNumberOfLines 并查看 UI 更新。

Rake 资产:Heroku 错误上的预编译

如何将 UI 对象(图像)添加到 UITextView 或 UITextField?

J2ME应用程序的预验证是啥意思?