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 弹出的NSMenu始终高亮显示第一个NSMenuItem_Cocoa_Nsbutton_Nsmenuitem_Nsmenu - Fatal编程技术网

Cocoa 弹出的NSMenu始终高亮显示第一个NSMenuItem

Cocoa 弹出的NSMenu始终高亮显示第一个NSMenuItem,cocoa,nsbutton,nsmenuitem,nsmenu,Cocoa,Nsbutton,Nsmenuitem,Nsmenu,我有一个NSButton,当单击时调用[NSMenu PopupMenuPositionGitem:atLocation:inView:]。菜单会在适当的位置弹出,但是最顶端的NSMenuItem始终以蓝色突出显示,就像鼠标悬停在它上面一样,只是它不是。我似乎找不到任何方法来控制NSMenuItem的突出显示 查看屏幕截图,您可以看到菜单高亮显示,即使鼠标仍悬停在按钮上 我怎样才能解决这个问题?我不希望在单击NSButton时突出显示任何内容。不要自己弹出菜单,而是将NSButton替换为NS

我有一个NSButton,当单击时调用[NSMenu PopupMenuPositionGitem:atLocation:inView:]。菜单会在适当的位置弹出,但是最顶端的NSMenuItem始终以蓝色突出显示,就像鼠标悬停在它上面一样,只是它不是。我似乎找不到任何方法来控制NSMenuItem的突出显示

查看屏幕截图,您可以看到菜单高亮显示,即使鼠标仍悬停在按钮上


我怎样才能解决这个问题?我不希望在单击NSButton时突出显示任何内容。

不要自己弹出菜单,而是将NSButton替换为NSPopUpButton,设置为下拉类型,关闭带边框的复选框(可能需要打开然后再次关闭),可能将箭头样式设置为“无”(尽管我会保留它).

如果在PopupMenuPositionGitem:atLocation:inView:中的第一个参数传递nil,则不会选择任何内容。

我想到了这个选项,虽然我确信它有效,但它确实不是我问题的答案。当NSMenu的PopupMenuPositionGitem:atLocation:inView:正常工作时,我不必使用NSPopupButton。