我是OSX开发的新手(我已经完成了一些iOS操作,但这是我的第一个OSX应用程序,也是我的第一个Swift应用程序。)
我找到了几个关于如何使用简单的菜单项列表制作MenuBar应用程序的教程,如下所示:
但我正在寻找更像Evernote,或Google云端硬盘或Mint的MenuBar窗口的内容:
我认为要做类似后者的事情,我需要一个常规的NSWindow,只需通过点击状态项(右边?)切换,但我如何按照Evernote& amp;谷歌呢?
如果使用Objective C应用,我发现this question提供了几种获取状态项位置的方法,但我不确定如何将其转换为Swift应用。例如,一个答案建议使用以下内容在单击后获取状态项的框架:
[[[NSApp currentEvent] window] frame]
但是,在Swift中,NSApp.currentEvent没有名为" window" ...
的成员有没有人知道用Swift编写的任何MenuBar应用程序,它们不仅仅包含一个简单的菜单项列表?这样的事情对Swift来说根本不可能吗?
的 更新:
由于在Objective C中执行此类操作的示例和入门应用程序非常丰富,并且在Swift中如何做到这一点很少甚至没有,我最终放弃了Swift路径并构建了一个Objective C应用程序,而不是。我用这个作为首发:https://github.com/shpakovski/Popup。它非常快/容易上手,最终比Swift应用程序的工作少得多。
也许有一天,当Swift更成熟时,我会用那种语言尝试另一种。
答案 0 :(得分:0)
实际上,NSApplication.sharedApplication().currentEvent?.window
似乎很好。