Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 如何以编程方式显示NSSearchField菜单?_Cocoa_Safari_Nssearchfield - Fatal编程技术网

Cocoa 如何以编程方式显示NSSearchField菜单?

Cocoa 如何以编程方式显示NSSearchField菜单?,cocoa,safari,nssearchfield,Cocoa,Safari,Nssearchfield,我想实现一个NSSearchField,它显示与Safari类似的搜索结果,但我不知道如何以编程方式显示菜单。任何指点都将不胜感激 更新:我尝试通过在表示搜索字段的搜索字段单元格内的搜索按钮的@NSButtonCell@对象上调用@performClick:@以编程方式执行此操作,但尽管我已确认确实调用了performClick,它不会触发菜单。Safari似乎使用某种自定义或私有API来显示搜索结果。它可能是一个看起来像菜单的窗口。我发现的问题是,一个普通的弹出式菜单会将键盘焦点从搜索字段移开

我想实现一个NSSearchField,它显示与Safari类似的搜索结果,但我不知道如何以编程方式显示菜单。任何指点都将不胜感激


更新:我尝试通过在表示搜索字段的搜索字段单元格内的搜索按钮的@NSButtonCell@对象上调用@performClick:@以编程方式执行此操作,但尽管我已确认确实调用了performClick,它不会触发菜单。

Safari似乎使用某种自定义或私有API来显示搜索结果。它可能是一个看起来像菜单的窗口。我发现的问题是,一个普通的弹出式菜单会将键盘焦点从搜索字段移开,而这不是您想要的,即在菜单更新时能够在搜索字段中保持键入。我找不到一个简单的方法,但我怀疑它应该是一个看起来像菜单的子窗口


这里有一个博客记录了添加类似于卡米诺的内容:

FWIW,我最后用MAAttachedWindow来破解这个问题。链接不起作用。是的,这是suggestions.framework的子窗口,它是私有框架