wil*_*984 12 cocoa objective-c nsmenu
我正在研究符号弹出按钮的细节,类似于编辑器窗口顶部的Xcode 3.
我的控制器对象是NSMenu显示时NSPopUpButton显示的对象.我实现了这两种方法,numberOfItemsInMenu:并menu:updateItem:atIndex:shouldCancel:在即将显示之前填充菜单.
但是,NSMenuItem每次用户在编辑器中更改选择时,所选内容的标题和图像都必须更改NSTextView,或者对文本进行更改; 就像Xcode的情况一样.
我遇到的问题是当用户点击NSPopUpButton显示时NSMenu,所选的NSMenuItem和应该选择的项目不匹配,因为菜单还没有正确数量的项目.
我想知道是否有一种方法来控制NSMenuItem当用户点击打开菜单时最初突出显示和跟踪哪个.目前,它始终突出显示和跟踪的第一个项目,或者,如果用户先前已选择项目,则突出显示并跟踪该项目.
我尝试尽可能地解释,但这是一个说明我的问题的图像:

当用户打开菜单时,我希望突出显示的项目与所选项目相同.有任何想法吗?
您是否尝试过这种NSMenuDelegate方法:处理突出显示
\xe2\x80\x93 menu:willHighlightItem:\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n您还可以存储NSMenuItem索引存储在某个变量中以跟踪所选项目以供以后使用。