0

我想在我的 iOS 和 Mac 应用程序中启用带有富文本编辑选项(目前为粗体、斜体和下划线)的 UITextView 和 NSTextView。我设法弄清楚如何将这些属性设置为 NSAttributedString,以及从视图中保存和检索 NSAttributedStrings 的基础知识,甚至使它们跨设备同步,但我不知道如何跨设备和平台进行这项工作可能有不同的字体用于呈现数据。

例如。在设备 A 上,用户设置了字体大小 14。他/她保存了一些文本,其中一部分为粗体,然后保存到 NSAttributedString,它保存了整个字体大小。

self.attributedLogNote = self.textView.attributedText;

这将被转换为 NSData,并同步到另一台设备,但情况相反:

self.textView.attributedText = self.attributedLogNote;

但在另一台设备上,用户可能有不同的字体大小设置,或者可能在 iOS 上使用动态类型。当我使用相同的属性字符串设置 textView 时,它将以原始设备的字体呈现,而不是第二个设备上使用的字体。

理想情况下应该如何处理?有没有办法从 NSAttributedString 中删除字体样式/大小/系列,但仍然保存放置粗体、斜体或其他属性的位置?如果是这样,是否有系统支持的方式来执行此操作,还是我必须自己执行此操作?还是在 HTML 或其他用于富文本编辑的跨平台标准之间来回转换更好?

4

0 回答 0