Сначала я объявляю элемент статуса:
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)
}
Кто-нибудь знает, что я делаю неправильно?