我目前有一个NSStatusItem
这样初始化的状态栏awakeFromNib
:
statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[statusItem setMenu:statusMenu];
[statusItem setImage:statusImage];
[statusItem setAlternateImage:statusHighlightedImage];
[statusItem setHighlightMode:YES];
[statusItem setTarget:self];
NSMenu
单击图标时,我会打开一个。单击其中一个选项时,应该NSPopover
从状态栏图标打开一个。为此,我有这段代码,它通过 Interface Builder 连接到菜单项:
- (IBAction)prefs:(id)sender {
NSRectEdge prefEdge = NSMaxYEdge;
[[self pop] showRelativeToRect:[[statusItem view] bounds]
ofView:[statusItem view]
preferredEdge:prefEdge];
}
但是,当我单击应该打开 Popover 的菜单项时,什么也没有发生。有什么特别的原因会导致这种情况吗?据我所知,应该可以做到。
提前致谢。我尽我所能查看了 Stack Overflow,但如果有一个真正重复的问题,请将我链接到它。
仅供参考:statusItem
变量是NSStatusItem
.