我设置了一个小型测试应用程序,将 App Delegate 设置为 NSTextView 的代理。
有了它,我提供了以下 NSTextView 委托方法:
- (BOOL)textView:(NSTextView *)aTextView shouldChangeTextInRange:(NSRange)affectedCharRange replacementString:(NSString *)replacementString
我想确定是什么输入源生成replacementString
.
主要是,我有兴趣找出replacementString
是来自字符查看器(编辑>特殊字符...)还是来自键盘。
我已经研究过使用碳文本输入 API,它可以为您提供有关字符查看器是否被“选中”(在屏幕上与屏幕外)的信息,但我找不到确定它是否负责生成文本字符串的方法。
这样做的原因是我正在编写一个简单的插件,它利用 Character Viewer 将 Unicode 字符转换为 HTML 实体。Character Viewer 将所有字符集中在一个位置,并且在操作系统级别可用。似乎使用它比编写我自己的更有意义。
这可以在 Cocoa 或 Carbon 中完成吗?
任何帮助将不胜感激。
谢谢你。