Mam app, który używa NSStatusItem
. Na małych ekranach na pasku stanu nie ma zbyt wiele miejsca. Gdy użytkownik przełącza się do aplikacji z wieloma pozycjami menu, mój status zostaje ukryty. Czy istnieje sposób, aby uzyskać powiadomienie o tym?Sprawdzanie, kiedy NSStatusItem jest ukryty
Co próbowałem dotąd:
- Sprawdziłem jeśli
NSNotification
wypala: Nie - sprawdziłem czy
statusView
zostanie usunięty z hierarchii Widok: Nie - Sprawdziłem
isHiddenOrHasHiddenAncestor
: Nie
Oto kod, którego używam do utworzenia elementu statusu.
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];
Czy możesz sprawdzić, czy jego właściwość view.center zmienia się, gdy przesuwa się poza ekran? Możesz być w stanie dodać powiadomienie KVO do właściwości centrum, aby ustanowić rodzaj wywołania zwrotnego, ale nie wiem, czy to działałoby dla statusu status. – Suz
Mam również timer, który rejestruje granice względem okna. Nie zmienia się ... Wygląda na to, że maView jest w swoim własnym oknie (NSWindow> NSNextStepFrame> maView). Spróbuję sprawdzić, czy jest to przeniesione poza ekran. – stigi
Obramowania okien również są nadal widoczne na ekranie. Okno może zostać nałożone przez coś innego. Nie wiem, jak to sprawdzić. – stigi