我正在尝试构建一个 NSTextView,它可以在用户键入时自动转换为漂亮的 RTF 样式文本的“标记”输入。
这个想法是让用户以“纯文本”格式输入文本,但在现场“美化”它,例如
H1 A quick list:
* first item
* second item
将被翻译成带有标题字体的第一行,然后是项目符号列表。
我已经找到了很多潜在的方法来做到这一点,但是文本系统非常复杂(有理由),如果已经有合适的内置内容,我不想开始“自己做饭”。顺便说一句,我会对 Snow Leopard 唯一的 API 感到满意。
我首先想到的是“数据检测器”,但我找不到用于执行此操作的公共 API。
走到了尽头,我转向了新的“文本输入源 API ”。这可以做各种各样的事情,但是 WWDC 2006 演示文稿“负责文本输入”的“数据驱动输入法”部分在我的上下文中似乎很有趣。然而,除了那张单一的演示幻灯片之外,任何地方似乎都不存在任何东西,所以这又是一条死胡同。
最后,我查看了NSSpellChecker类,该类也应该提供完成功能和自动更正。但我也不确定如何将其重新用于我的要求。
目前,我很想手动重新解析整个 NSTextStorage 并在用户停止输入时自己进行更改..但我相信这个论坛周围有更聪明的头脑..
任何正确方向的建议或指示将不胜感激。