繁体   English   中英

在NSStatusItem上实现NSPopover

[英]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.

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