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 に答える