6

内蔵バッテリー、Wi-Fi、サウンドなど、Apple が提供するステータス項目は、cmd + クリック アンド ドラッグを使用して、メニューの任意の位置にドラッグできます。

自分のステータス アイテムで同様の機能をサポートするにはどうすればよいですか?

4

1 に答える 1

11

メニューバーの右側にメニューを表示するには、2つの方法があります。公式にサポートされている方法はNSStatusItem、アプリでを作成することです。他の方法は、を作成することNSMenuExtraです。1つの違いに気づきました。NSStatusItemメニューは所定の位置に固定されていますが、メニューエクストラはcmdキーを押しながらドラッグすることで移動できます。

他の主な違い、およびサードパーティのメニューエクストラが公式にサポートされていない理由は、ステータスアイテム(個別のアプリケーションとして実行される)とは異なり、メニューエクストラがSystemUIServerプロセスのアドレス空間にロードされることです。つまり、彼らが急いでクラッシュした場合、UIを停止する可能性があります。

システムにインストールされているMenuExtrasは、で確認できます/System/Library/CoreServices/Menu Extras。独自に作成してOSにロードさせることは可能かもしれませんが、結果を出荷しようとすると問題が発生します。bugreport.apple.comにアクセスして、NSStatusItemsをドラッグ可能にする必要があることを知らせてください。

ウィキペディアには、独自の作成に関するチュートリアルへのリンクなど、MenuExtrasに関する詳細情報があります。

于 2012-07-03T22:27:59.013 に答える