我正在寻找一种方法,以便在使用Swift的情况下检测每当右键单击NSStatusBarButton
时,并调用一个动作。
我目前是这样设置的:
let statusItem = NSStatusBar.systemStatusBar().statusItemWithLength(-1)
func applicationDidFinishLaunching(aNotification: NSNotification) {
// Insert code here to initialize your application
if let button = statusItem.button {
button.image = NSImage(named: "myImage")
button.alternateImage = NSImage(named: "myImage")
button.action = Selector("myAction")
}
}
我考虑使用
button.rightMouseDown(<#theEvent: NSEvent#>)
(因为没有"alternateAction"),但很遗憾,由于我刚开始编写Mac应用程序,所以无法想出解决方案。更新: 在寻找实现方法时,我看到一些帖子建议对
NSView
进行子类化,但我不知道这应该如何工作(可能是因为我刚接触编程并不知道如何进行"子类化")。尽管如此,我认为几乎每个状态栏应用程序都能在右键单击时显示矩形,因此应该有更简单的方法来实现。