問題タブ [nsbuttoncell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
286 参照

swift - Mojave でキーを押しても NSButtonCell の強調表示が残る

NSButtonCellベゼルを描画する場所から派生したクラスがあります。

さらにkeyEquivalent、カスタムセルでボタンに割り当てました。

これは、 macOS High Sierraでマウス クリックまたはキープレスを使用しても問題なく動作します。ハイライトは、マウスまたはキーが押されているときにのみ表示されます。

ログ出力は次のようになります。

ただし、Mojaveでは、キーを押したときの動作が異なります。キーを押した後、強調表示された状態が維持されますが、マウスを使用すると、強調表示が期待どおりに機能します。

Mojave からのログ出力:

Mojaveで変更されたものはありますか。ご覧のとおり、drawBezel呼び出し順序はまったく予想外です。奇妙なことは、キーボードを使用しているときにのみ発生する理由です。

Mojaveでのマウスクリックに似たキーボードでボタンのハイライト動作を実現するにはどうすればよいですか?

アップデート

問題を示すXCode Playgroundで最小限のプロジェクトを作成できました。ここからダウンロードできます