問題タブ [nsstatusbar]

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

macos - ダークモードの切り替え時にNSAppearanceが更新されない

macOS ステータス バーでのみ実行される macOS アプリがあります。Info.plist の「Application is agent (UIElement)」プロパティを「YES」に変更しました。

次のように、外観の名前を 5 秒ごとに出力するタイマーがあります。

問題

システム設定でダークモードとライトモードを切り替えても、名前は実際には変わりません。アプリケーションの起動時に設定された外観の名前が常に出力されます。

システムの外観の変化を聞く方法はありますか?

ゴール

私の最終目標は、実際には を に描画し、NSAttributedStringそれをボタンの画像としてNSImage使用することです。NSImageNSStatusItem

私が使用する属性付き文字列のテキストはUIColor.labelColor、システムの外観に基づいているはずです。ただし、システムの外観の変更を尊重していないようです。

アプリケーションをダーク モードで起動してからライト モードに切り替えると、次のようになります。

ダーク-1 ダーク-2

アプリケーションをライト モードで起動してからダーク モードに切り替えると、次のようになります。

光-1 光-2

サイドノート

を に変えてNSAttributedStringをボタンに直接NSImage使用しない理由は、ステータス バーに正しく配置されていないためです。NSAttributedStringNSStatusItemattributedTitle

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

macos - ステータスバーメニューとして使用される NSMenu にボタンを追加する方法は?

次のコードを使用して、MacOS でアプリのステータスバー メニューを作成しています。

これは機能しますが、チェックボックスやボタンなどを含むカスタム行をこのメニューに追加する方法を知りたいです。添付の VLC ビデオ プレーヤーのスクリーンショットを参照してください。

ここに画像の説明を入力