1

我正在以编程方式创建一个弹出菜单并使用委托方法 menuNeedsUpdate:(NSMenu *) 菜单对其进行更新,然后使用 popUpMenuPositioningItem:nil atLocation:mouseLoc inView:nil 方法显示它。

就鼠标控制而言,它工作正常。但是,当使用键盘(字母或箭头键)时,我注意到它调用 menuNeedsUpdate: 来处理所有内容,包括根菜单和子菜单。这是非常低效的,并且使通过键盘使用菜单变得迟缓。

为什么会这样?有什么办法可以规避或阻止它?

4

1 回答 1

3

我会尝试menuHasKeyEquivalent:forEvent:target:action:在您的委托上实施(NO如果您不知道菜单中没有任何等效键,则始终返回)。

于 2010-07-20T21:02:39.093 回答