我有一個應用程序使用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屬性是否隨着它離開屏幕而改變嗎?您可能可以將KVO通知添加到中心屬性以建立一種回調,但我不知道這是否適用於statusItem。 – Suz
我也有一個定時器運行,記錄相對於窗口的邊界。沒有改變...它看起來像maView是在它自己的窗口(NSWindow> NSNextStepFrame> maView)。將嘗試看看這是否移出屏幕。 – stigi
窗口邊界也仍然在屏幕上。該窗口可能被其他東西覆蓋。不知道如何檢查這個雖然.. – stigi