繁体   English   中英

即使主窗口未激活,也会显示NSPopover

[英]NSPopover shows up even if the main window is not active

我正在以编程方式显示弹出窗口,如下所示:

popover = [NSPopover new];    
popover.contentViewController = popoverController;
popover.animates = YES;
popover.delegate = popoverController;
popover.behavior = NSPopoverBehaviorSemitransient;

[popover showRelativeToRect:[textfield bounds] 
                     ofView:textfield 
              preferredEdge:NSMaxYEdge];

其中textfield是一个NSTextfield,将在其下显示弹出窗口。 一切正常,但问题在于,即使窗口处于隐藏状态且未激活,也将显示弹出窗口,就像它从无处来来一样(弹出窗口显示时主窗口保持隐藏状态)。 任何帮助如何解决这个问题?

您需要检查您的窗口是主窗口还是关键窗口,然后显示弹出窗口。 像这样:

if ([yourWindowOutlet isMainWindow]) {
    // show popover
}

要么

if ([yourWindowOutlet isKeyWindow]) {
    // show popover
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM