8

を使用するアプリがありますNSStatusItem。小さな画面では、ステータス バーに十分なスペースがありません。ユーザーが多くのメニュー アイテムを含むアプリケーションに切り替えると、ステータス アイテムが非表示になります。これについて通知を受ける方法はありますか?

私がこれまでに試したこと:

  • NSNotification解雇されたかどうかを確認しました:いいえ
  • statusViewがビュー階層から削除されているかどうかを確認しました:いいえ
  • 私はチェックしましたisHiddenOrHasHiddenAncestor:いいえ

ステータス アイテムの作成に使用するコードを次に示します。

self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
MyStatusView *maView = [[[MyStatusView alloc] initWithFrame:CGRectMake(0, 0, 50, 22)] autorelease];
[statusItem setTitle:@"Ma Status Item"];
[statusItem setView:maView];
4

1 に答える 1

1

ステータス アイテムが非表示になると、そのウィンドウが背景に移動することを理解するのはかなり賢いことです。

探している通知は次のとおりです: NSWindowDidResignKeyNotification (またはアプリケーションのコンテキストに応じてNSWindowDidResignMainNotification )

キー ウィンドウとメイン ウィンドウの違いに関する明確な説明については、こちらを参照してください。

于 2011-11-30T09:08:31.883 に答える