首先我声明状态项:
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)
}
有人知道我做错了什么吗?