gpt4 book ai didi

objective-c - 单击外部时隐藏 MAAttachedWindow

转载 作者:行者123 更新时间:2023-12-03 16:24:06 24 4
gpt4 key购买 nike

我正在使用 MAAttachedWindow在菜单栏中的 NSStatusItem 下显示自定义窗口。一切工作正常,但当用户在窗口外单击时,我找不到隐藏它的简单方法。我想实现这种行为,因为这是用户所期望的。

这是用于显示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];
}

此代码由带有自定义 View 的 NSStatusItem 触发,该 View 会拦截对其的点击。

最佳答案

您应该能够通过窗口的委托(delegate)方法来执行此操作:

- (void)windowDidResignKey:(NSNotification *)通知

将您自己设置为窗口的委托(delegate),并实现它以调用您的切换方法。

关于objective-c - 单击外部时隐藏 MAAttachedWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4696689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com