繁体   English   中英

来自NSStatusitem的NSTextField

[英]NSTextField from NSStatusitem

当用户单击状态栏中的NSStatusitem时,是否有任何方法可以使NSPopover出现?

到目前为止,在我的标题中我有以下内容:

IBOutlet NSStatusItem *statusitem;

和这个 :

@property (assign) IBOutlet NSPopover *pop;

根据该方法,我有这个:

[[NSImage imageNamed:@"mic.png"]setSize:NSMakeSize(20,20)];
statusitem = [[NSStatusBar systemStatusBar]statusItemWithLength:NSVariableStatusItemLength];
[statusitem setHighlightMode:YES];
[statusitem setImage:[NSImage imageNamed:@"mic.png"]];
[statusitem setMenu:menu];
[statusitem setAction:@selector(pop:)]

- (void)pop:(id)sender{
[[self pop]showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxXEdge];
}

反正有什么要使它起作用?

这几乎是正确的。 您的statusItem属性应该保留,而不是IBOutlet,因为您正在代码中创建它。 同样,您不能同时拥有状态项的菜单和操作-如果具有菜单,则单击状态项时将打开菜单,而不是触发操作方法。 因此,如果您进行了这些更改,并且您在IB中设置了弹出窗口,这应该可以工作。

暂无
暂无

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

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