在 Mavericks 中,按 ctrl+cmd+space 会出现一个新的表情符号菜单。我想在文本字段旁边添加一个小按钮,用于打开此菜单并将表情符号发送到文本字段。
我考虑过发送击键事件,但这可能会改变。还有其他办法吗? 谢谢。
最佳答案
是orderFrontCharacterPalette:
为你工作吗?
[NSApp orderFrontCharacterPalette:nil];
它已经存在了一段时间 (10.3),但将调色板排序到前面的含义可能在 10.9 中发生了变化。
如果有趣的话,我通过插入 NSTextView 的虚拟子类找到了该方法:
@interface LoggingTextView : NSTextView
@end
它记录它收到的respondsToSelector:
调用:
- (BOOL)respondsToSelector:(SEL)aSelector
{
NSLog(@"selector: %@", NSStringFromSelector(aSelector));
return [super respondsToSelector:aSelector];
}
在 IB/XIB 中,我将 TextView 配置为使用该子类。然后我运行该应用程序并按下 Cmd-Ctrl-Space 并检查有趣的选择器名称。您也可以使用 LLDB 中的自动继续断点命令来完成此操作。
如果您这样做,请确保出现的任何内容都是已发布的 API,而不是随时可能更改的内部方法。
关于cocoa - 如何在Mavericks中通过代码打开新的表情菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20748964/