相关疑难解决方法(0)

如何获取NSStatusItem的框架

NSStatusItem在我将它添加到Cocoa的状态栏后,是否有可能得到一个框架?当我的应用程序启动时,我将一个项目添加到系统状态栏,并想知道它的位置,是可能的.

cocoa nsstatusitem nsstatusbar

9
推荐指数
3
解决办法
3360
查看次数

如何创建一个不仅仅包含菜单项列表的MenuBar应用程序(使用Swift)?

我是OSX开发的新手(我做了一些iOS的东西,但这是我的第一个OSX应用程序,也是我的第一个Swift应用程序).

我找到了几个关于如何使用简单的菜单项列表制作MenuBar应用程序的教程,如下所示:

简单的菜单

但我正在寻找更像Evernote,或Google Drive,或Mint的MenuBar窗口的东西:

窗口

我相信要做类似后者的事情,我需要一个常规的NSWindow,只需通过点击状态项(右边?)切换,但我如何按照Evernote和Google的方式来定位窗口?

我发现这个问题提供了几种获取状态项位置的方法,如果使用Objective C应用程序,但我不知道如何将其转换为Swift应用程序.例如,一个答案建议使用以下内容在单击后获取状态项的框架:

[[[NSApp currentEvent] window] frame]
Run Code Online (Sandbox Code Playgroud)

但是,在Swift中,NSApp.currentEvent没有名为"window"的成员...

有没有人知道任何用Swift编写的MenuBar应用程序,它不仅仅包含一个简单的菜单项列表?这样的事情对Swift来说根本不可能吗?


更新:
由于在Objective C中执行此类操作的示例和入门应用程序非常丰富,而且在Swift中如何做到这一点很少甚至没有,我最终放弃了Swift路径并构建了一个Objective C应用程序.我用这个作为首发: https: //github.com/shpakovski/Popup.它非常快速/容易上手,最终比Swift应用程序的工作少得多.

也许有一天当Swift更成熟时,我会用那种语言尝试另一种.

macos swift

9
推荐指数
1
解决办法
1794
查看次数

标签 统计

cocoa ×1

macos ×1

nsstatusbar ×1

nsstatusitem ×1

swift ×1