我正在以编程方式创建一个弹出菜单并使用委托方法 menuNeedsUpdate:(NSMenu *) 菜单对其进行更新,然后使用 popUpMenuPositioningItem:nil atLocation:mouseLoc inView:nil 方法显示它。
就鼠标控制而言,它工作正常。但是,当使用键盘(字母或箭头键)时,我注意到它调用 menuNeedsUpdate: 来处理所有内容,包括根菜单和子菜单。这是非常低效的,并且使通过键盘使用菜单变得迟缓。
为什么会这样?有什么办法可以规避或阻止它?