Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos NSStatusItem上OS X状态栏应用程序的弹出框(MAAttachedWindow替代方案?)_Macos_Cocoa - Fatal编程技术网

Macos NSStatusItem上OS X状态栏应用程序的弹出框(MAAttachedWindow替代方案?)

Macos NSStatusItem上OS X状态栏应用程序的弹出框(MAAttachedWindow替代方案?),macos,cocoa,Macos,Cocoa,我试图显示一些消息,指向仅位于状态栏中的Mac OS X应用程序图标: 我相信这是7-8年前的事情,但我甚至无法让它的演示工作,它不是为ARC编写的 我想知道是否有一个开源库或一些代码片段在做与现在人们使用的相同的事情。在这一点上,即使找到我的状态栏图标的坐标对我来说也是一个谜 当用户单击我的图标时,我不想显示弹出窗口,我只想显示它,让用户知道应用程序在状态栏中。如果可能,我建议使用nspover,但如果这不符合您的需要,您可以尝试或使用。如果您决定使用nspover,您可能会想看看哪个似乎很

我试图显示一些消息,指向仅位于状态栏中的Mac OS X应用程序图标:

我相信这是7-8年前的事情,但我甚至无法让它的演示工作,它不是为ARC编写的

我想知道是否有一个开源库或一些代码片段在做与现在人们使用的相同的事情。在这一点上,即使找到我的状态栏图标的坐标对我来说也是一个谜


当用户单击我的图标时,我不想显示弹出窗口,我只想显示它,让用户知道应用程序在状态栏中。

如果可能,我建议使用
nspover
,但如果这不符合您的需要,您可以尝试或使用。如果您决定使用
nspover
,您可能会想看看哪个似乎很有希望,尽管我没有亲自测试过它。

解决方案是创建我自己的NSStatusItem,您可以在这里找到一个示例:


如果您的应用程序目标是10.7+,您不需要任何第三方库,您可以使用@mohacs great answer来实现。然而,我发现,
nspover
+
NSStatusItem
的许多用例都用于将菜单内容显示为popover。我想在图标下方显示popover,而无需用户单击状态图标。我仍然觉得这很棘手。花了几个小时,还是没有运气。e、 g.我在以下位置找不到要提供的
视图:
[nspover showRelativeToRect:of视图:preferredEdge:
。显然,这应该是一个有窗口的视图,我想NSStatusItem没有。我找到了这些窗口,但它们没有太大的帮助,因为我不希望它在单击时显示,而是在后台发生某个事件时显示。请查看我在上述问题下的评论。除非您对状态项设置自定义视图,否则无法访问状态项的窗口。如果你想要你正在谈论的行为,你需要设置一个自定义视图。是的,看起来我会同意。谢谢