在OS X状态栏应用程序上使用Popover(MAAttachedWindow的替代方案是什么?)

3
我想展示一些信息,指向我的Mac OS X应用程序图标,该图标仅存在于状态栏中:

我相信MAAttachedWindow是7-8年前的事情,但我甚至无法使其演示程序正常工作,并且它不是为ARC编写的。
我想知道现在是否有开源库或某些代码片段可以做到同样的事情。即使找到我的状态栏图标的坐标也对我来说是个谜。
我不想在用户单击我的图标时显示弹出窗口,我只会显示它以向用户提供应用程序在状态栏中的位置信息。

1
如果您的应用程序针对10.7+,则无需任何第三方库,您可以使用NSPopover来完成相同的操作。 - modus
@mohacs 很好的回答。然而我发现许多NSPopover+NSStatusItem的用例是将菜单内容显示为弹出窗口。我想在图标下方显示弹出窗口,而不需要用户点击状态图标。我仍然觉得这非常棘手。花了几个小时还是没有成功。例如,我找不到要提供给[NSPopover showRelativeToRect:ofView:preferredEdge:]view。显然,那应该是一个具有窗口的视图,我猜NSStatusItem没有。 - ahmet alp balkan
2个回答

5
我建议您如果可能的话使用NSPopover,但如果不符合您的需求,您可以尝试RBLPopoverSFBPopovers。如果您决定使用NSPopover,您可能需要查看AXStatusItemPopup,这似乎很有前途,尽管我个人没有测试过。

我找到了那些内容,但它们并不是很有帮助,因为我不想在单击时显示它,而是在后台发生某些事件时显示。请参见我在上面问题下面的评论。 - ahmet alp balkan
除非在状态项上设置自定义视图,否则无法访问状态项的窗口。如果您想要所讨论的行为,您需要设置一个自定义视图。 - sudo rm -rf
是的,看起来我会选择它。谢谢。 - ahmet alp balkan

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接