簡體   English   中英

如何創建一個不僅僅包含菜單項列表的MenuBar應用程序(使用Swift)?

[英]How can I make a MenuBar app (using Swift) that has more than just a list of menu items?

我是OSX開發的新手(我做了一些iOS的東西,但這是我的第一個OSX應用程序,也是我的第一個Swift應用程序)。

我找到了幾個關於如何使用簡單的菜單項列表制作MenuBar應用程序的教程,如下所示:

簡單的菜單

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

窗口

我相信要做類似后者的事情,我需要一個常規的NSWindow,只需通過點擊狀態項(右邊?)來切換,但我如何按照Evernote和Google的方式來定位窗口?

我發現這個問題提供了幾種獲取狀態項位置的方法,如果使用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似乎很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM