私はNSStatusItem
を使用するアプリを持っています。小さな画面では、ステータスバーにはスペースがあまりありません。ユーザーが多くのメニュー項目を含むアプリケーションに切り替えると、ステータス項目が非表示になります。これについて通知を受ける方法はありますか?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];
画面から離れてview.centerプロパティが変更されるかどうかテストできますか? centerプロパティにKVO通知を追加してコールバックの種類を設定することは可能かもしれませんが、statusItemに対して機能するかどうかはわかりません。 – Suz
また、ウィンドウを基準に境界を記録するタイマーを実行しています。変化しない... maViewがそれ自身のウィンドウ(NSWindow> NSNextStepFrame> maView)にあるようです。これが画面外に移動したかどうか試してみる。 – stigi
ウィンドウ境界もまだ画面に表示されています。ウィンドウには他のものが重なっているかもしれません。しかし、これをチェックする方法を知らない。 – stigi