4

NSPanelメニューバーに配置され、ユーザーがステータス項目をクリックするとインスタンスが表示される Mac アプリを作成しています。別のステータス アイテムのメニューが開かれるたびにウィンドウを非表示にしたい。現在、私のパネルは開いたままです。次のようになります。

私のアプリは左側にあり、無限ステータスアイテムに添付されています

私のような他のアプリケーションが別のステータス アイテムのメニューを開くと閉じてしまうのを目にするので、どの通知が消えるのか知りたいと思っています。NSWindowDelegateとを調べましたがNSApplicationDelegate、通知が生成されていません。

何か提案はありますか?

4

1 に答える 1

4

私はそれを考え出した!では、インスタンスawakeFromNibのプロパティを設定していました。NSPanel私は以下を使用していました:

[panel setStyleMask:panel.styleMask ^ NSTitledWindowMask];

次のように切り替えます。

[panel setStyleMask:(panel.styleMask ^ NSTitledWindowMask ^ NSNonactivatingPanelMask)];

トリックをしました。同様の方法で MAAttachedWindow を使用することに関するNeil Inglis のブログ投稿を読んだ後、私はそれを理解しました。

于 2012-02-27T17:20:14.517 に答える