まず、ステータス アイテムを宣言します。
var status_item: NSStatusItem?
次に、ウィンドウを閉じてステータス アイテムを追加する関数があります。
self.view.window?.orderOut(self)
//self.view.window?.close()
self.status_item = NSStatusBar.system().statusItem(withLength: NSSquareStatusItemLength)
if let status_button = self.status_item?.button {
status_button.image = NSImage(named: "StatusBarButtonImage")
status_button.action = #selector(statusBar(sender:))
}
これは、ステータス項目を削除してウィンドウを再度表示するアクションセレクターメソッドです。ステータスバーのステータスバー項目を押しても呼び出されません:
func statusBar(sender: AnyObject) {
print("status bar clicked")
self.status_item = nil
self.view.window?.orderFront(nil)
}
私が間違っていることを誰かが知っていますか?