Ho un'app che utilizza uno NSStatusItem
. Su schermi piccoli non c'è molto spazio nella barra di stato. Quando un utente passa a un'applicazione con molte voci di menu, la mia voce di stato viene nascosta. C'è un modo per essere avvisati di questo?Essere informati di quando NSStatusItem è nascosto
quello che ho provato finora:
- ho controllato se qualsiasi
NSNotification
viene sparato: No - ho controllato se il
statusView
viene rimosso dalla gerarchia della vista: No - ho controllato
isHiddenOrHasHiddenAncestor
: No
Ecco il codice che uso per creare l'elemento di stato.
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];
è possibile verificare se la proprietà view.center cambia mentre si sposta dallo schermo? Potresti essere in grado di aggiungere la notifica KVO alla proprietà centrale per stabilire una sorta di callback, ma non so se funzionerebbe per un statusItem. – Suz
Ho anche un timer in esecuzione che registra i limiti relativi alla finestra. Non cambia ... Sembra che MaView sia nella sua finestra (NSWindow> NSNextStepFrame> maView). Proveremo a vedere se questo viene spostato dallo schermo. – stigi
Anche i limiti delle finestre sono ancora sullo schermo. La finestra potrebbe essere sovrapposta da qualcos'altro. Non so come controllare per questo però .. – stigi