Ich benutze eine MAAttachedWindow um ein benutzerdefiniertes Fenster unter einem NSStatusItem in der Menuleiste anzuzeigen. Alles funktioniert gut, aber ich kann keinen einfachen Weg finden, um es auszublenden, wenn der Benutzer außerhalb des Fensters klickt. Ich möchte dieses Verhalten zu implementieren, weil es ist, was der Benutzer erwartet.
Dies ist der Code, der zur Anzeige der MAAttachedWindow
:
- (void)toggleAttachedWindowAtPoint:(NSPoint)pt {
if (!self.attachedWindow) {
self.attachedWindow = [[MAAttachedWindow alloc] initWithView:logView
attachedToPoint:pt
inWindow:nil
onSide:MAPositionBottom
atDistance:5.0];
[self.attachedWindow setLevel:kCGMaximumWindowLevel];
}
if(isVisible)
[self.attachedWindow makeKeyAndOrderFront:self];
else
[self.attachedWindow orderOut];
}
Dieser Code wird ausgelöst durch eine NSStatusItem
mit einer benutzerdefinierten Ansicht, die einen Klick darauf abfängt.