cocoa - 如何在Mavericks中通过代码打开新的表情菜单

标签 cocoa osx-mavericks emoticons

在 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/

相关文章:

cocoa - 在 NSTableview 中启用多行选择

iphone - 什么是强属性属性

swift - 如何使用 Swift 在 NSOpenGLView 中绘制图像?

macos - psql : could not connect to server: No such file or directory

python - 清理推文的问题(表情符号、笑脸......)

安卓表情符号(SMILEY ICONS)

objective-c - xib 中的预处理器指令?

Java 更改卷 OSX

c++ - 在 macOS 上覆盖 malloc

黑莓:聊天应用程序中的表情符号