我是 OSX 开发的新手(我做过一些 iOS 的东西,但这是我的第一个 OSX 应用程序,也是我的第一个 Swift 应用程序)。
我找到了几个教程,介绍如何使用简单的菜单项列表制作 MenuBar 应用程序,如下所示:
但我正在寻找更像 Evernote、Google Drive 或 Mint 的 MenuBar 窗口的东西:
我认为,要执行类似后者的操作,我需要一个常规的 NSWindow,它只需通过单击状态项来切换(对吗?),但我如何按照 Evernote 和 Google 的方式定位窗口?
我找到了 this question如果使用 Objective C 应用程序,它提供了几种获取状态项位置的方法,但我不确定如何将其转换为 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 更成熟时,我会尝试使用该语言的另一种语言。
最佳答案
实际上,NSApplication.sharedApplication().currentEvent?.window
看起来不错。
关于macos - 如何制作一个 MenuBar 应用程序(使用 Swift),它不仅包含菜单项列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28381563/