[英]Implementing NSPopover on NSStatusItem
我现在有一个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
。
你需要为自己设定使用视图[statusItem setView:]
对[statusItem view]
返回非nil
。
如果您不介意使用私有API,则可以尝试调用[statusItem _button]
,尽管如果您打算提交到App Store,则不允许这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.